背景:
用Delphi-7或-6编写的应用程序(通过.exe文件进行搜索)。叫西格曼斯特。
我移到了新服务器,剩下的是运行在SQL server下的SigmaNest数据库。经过数小时的故障排除后,将该数据库迁移到新服务器。这个问题涵盖了这个SQL服务器应用程序的所有方面。服务默认启动,不工作向导,缺少全文的东西,可笑的许多地方右击等等。失去的人还在继续。
目前,我在新硬件上有一个具有数据库SNDBase (西格曼)的工作server,但无法从客户端连接。
不,这不可能是对的,我想,并在寻找其他的选择。4-5点击MySQL工作台,我让它在测试linux上运行.好吧..。
但现在问题来了。
SigmaNest使用ini文件作为其配置。
所以在我找到的一个ini文件里
; 1 = Paradox, 2 = MSSQLServer or MSDE
ADOConnectionString=Provider=SQLOLEDB.1;Data Source=ODIN\SIGMANEST;User ID=sigmanest;Password="";Persist Security Info=True;Initial Catalog=SNDBase;奥凯..。在客户端上安装Mysql驱动程序并进行连接。目前为止都在工作..。
转到谷歌,找到了ADOConnectionsstring的mysql ..。
ADOConnectionString=DRIVER={MySQL ODBC 5.2a Driver};SERVER=192.168.100.19;PORT=3306;DATABASE=SNDBase;UID=sigmanest;PASSWORD=;OPTION=4;但应用程序不会启动。只需返回到sigmanest的db连接配置工具即可。
已经将此发布到SigmaTek,但我给出的唯一响应是通过SQLOLEDB为MS提供了一个带有ADOConnection字符串的邮件。
搜索驱动器并没有找到anny dbex*.dll文件,这意味着它们不使用dbExpress组件(我猜)。
因此,是否有一些缺少的dll文件,但没有随应用程序。或者这类东西是在程序中硬编码的?
有人知道该怎么做吗?
或者我应该放弃mysql的梦想,去浪费sql服务器后端的空间。
佩尔尼尔斯
PS。SigmaNest.exe有一个时间戳2006-05-19 DS.
发布于 2013-01-24 09:05:56
对不起,我不知道该怎么处理这个问题。可以说,堆积如山似乎让世界上所有有才华的人都在同一个屋檐下感到沮丧。
肯怀特:是的,你是对的,我不能在这个应用程序上使用MySQL (经过几个小时的谷歌搜索和测试)。
不管怎样,我设法做到了这样的连接(也许有些东西对其他人有用,有些是与Delphi相关的)
但你的问题还没有结束..。SQL与MySQL之间的差异将使应用程序停止运行。例如,MySQL中的布尔值被声明为tinyint (0=false 1=true)
这里提到了一个解决办法,http://www.i-logic.com/utilities/MySQL.htm
因此,我的奋斗没有回报,但上面的一些可能是对其他人感兴趣。
每一个尼尔斯。
发布于 2021-12-29 01:42:43
可以在运行时配置ODBC,下面是配置ODBC以使用BDE连接到Server的示例。
unit uBDEConnectionSqlServer;
interface
uses
DBTables, Windows, Classes, SysUtils;
type TBDEConnectionSqlServer = class(TComponent)
private
{ Private declarations }
function CreateOBDCConnection(dataBase : string; server: string):Boolean;
public
{ Public declarations }
Function CreateBDEConnection(dataBase: TDatabase; dataBaseName : string; server:string; userName:string; password:string): Boolean;
end;
const
ODBC_ADD_DSN = 1; // Add data source
ODBC_CONFIG_DSN = 2; // Configure (edit) data source
ODBC_REMOVE_DSN = 3; // Remove data source
ODBC_ADD_SYS_DSN = 4; // add a system DSN
ODBC_CONFIG_SYS_DSN = 5; // Configure a system DSN
ODBC_REMOVE_SYS_DSN = 6; // remove a system DSN
ODBC_REMOVE_DEFAULT_DSN = 7; // remove the default DSN
function SQLConfigDataSource(
hwndParent: HWND;
fRequest: WORD;
lpszDriver: LPCSTR;
lpszAttributes: LPCSTR): BOOL; stdcall; external 'ODBCCP32.DLL';
implementation
Function TBDEConnectionSqlServer.CreateBDEConnection(dataBase: TDatabase; dataBaseName : string; server:string; userName:string; password:string): Boolean;
var
retorno: TDatabase;
Begin
result := false;
if (CreateOBDCConnection(dataBaseName, server) = true) then
begin
dataBase.AliasName := 'testedelphi';
dataBase.LoginPrompt := False;
dataBase.DatabaseName := 'testedelphi';
dataBase.Params.Values['DATABASE NAME'] := dataBaseName;
dataBase.Params.Values['USER NAME'] := userName;
dataBase.Params.Values['ODBC DSN'] := dataBaseName;
dataBase.Params.Values['OPEN MODE'] := 'READ/WRITE';
dataBase.Params.Values['BATCH COUNT'] := '200';
dataBase.Params.Values['LANGDRIVER'] := '';
dataBase.Params.Values['MAX ROWS'] := '-1';
dataBase.Params.Values['SCHEMA CACHE DIR'] := '';
dataBase.Params.Values['SCHEMA CACHE SIZE'] := '8';
dataBase.Params.Values['SCHEMA CACHE TIME'] := '-1';
dataBase.Params.Values['SQLPASSTHRU MODE'] := 'SHARED AUTOCOMMIT';
dataBase.Params.Values['SQLQRYMODE'] := '';
dataBase.Params.Values['ENABLE SCHEMA CACHE'] := 'FALSE';
dataBase.Params.Values['ENABLE BCD'] := 'FALSE';
dataBase.Params.Values['ROWSET SIZE'] := '20';
dataBase.Params.Values['BLOBS TO CACHE'] := '64';
dataBase.Params.Values['BLOB SIZE'] := '32';
dataBase.Params.Values['PASSWORD'] := password;
result := true;
end;
end;
function TBDEConnectionSqlServer.CreateOBDCConnection(dataBase : string; server: string):Boolean;
var
resultado: BOOL;
begin
Result := False;
resultado := SQLConfigDataSource(
0,
ODBC_ADD_DSN,
'SQL Server',
PChar(
'DSN='+dataBase+#0 +
'SERVER='+server+#0 +
'ADDRESS='+server+#0 +
'NETWORK=dbmssocn'#0 +
'DATABASE='+dataBase+#0 +
'DESCRIPTION='+server+dataBase+#0 +
#0
)
);
if(StrToInt(BoolToStr(resultado)) <> 0) then
Result := True;
end;
end.https://stackoverflow.com/questions/14476755
复制相似问题