(*======================================
delphi中编程实现建立ODBC数据源
====================================== 验证方式选用户输入登陆ID和密码的验证
客户端配置里面的网络库选择 tcp/ip DSN --- Test
驱动程序 --- SQL Server
服务器名 --- zzzz
登陆ID --- sa
密码 --- sa
默认数据库 --- Testbase
======================================
我测试了下面,没用。不能实现上面的效果
begin
SQLConfigDataSource(0, ODBC_ADD_DSN,'SQL Server',
'DSN=Test'+ chr(0) + //数据源名字
'Server=zzzz'+ chr(0) +
'Database=hbrk'+ chr(0) +
end;
*)
delphi中编程实现建立ODBC数据源
====================================== 验证方式选用户输入登陆ID和密码的验证
客户端配置里面的网络库选择 tcp/ip DSN --- Test
驱动程序 --- SQL Server
服务器名 --- zzzz
登陆ID --- sa
密码 --- sa
默认数据库 --- Testbase
======================================
我测试了下面,没用。不能实现上面的效果
begin
SQLConfigDataSource(0, ODBC_ADD_DSN,'SQL Server',
'DSN=Test'+ chr(0) + //数据源名字
'Server=zzzz'+ chr(0) +
'Database=hbrk'+ chr(0) +
end;
*)
---------------------------------------------------------------
procedure CreateOdbc(ServerName,DataBaseName,UserName:String);
var TheReg:TRegistry;
KeyName,DataBase,Driver,LastUser,Server,Trusted_connection:string;
begin
Server:=ServerName;
DataBase:=DataBaseName;
Driver:='C:\WINDOWS\SYSTEM\SQLSRV32.DLL';
LastUser:=UserName;
Trusted_Connection:='Yes';
try
TheReg:=TRegistry.Create;
TheReg.RootKey:=HKEY_LOCAL_MACHINE;
KeyName:='\software\odbc\odbc.ini\'+DataBase;
if TheReg.KeyExists(KeyName) then begin
exit;
end;
if TheReg.OpenKey(KeyName,true) then begin
TheReg.WriteString('Database',DataBase);
TheReg.WriteString('Driver',Driver);
TheReg.WriteString('LastUser',LastUser);
TheReg.WriteString('Server',Server);
TheReg.CloseKey;
end;
KeyName:='\software\odbc\odbc.ini\odbc data sources';
if TheReg.OpenKey(KeyName,false) then begin
TheReg.WriteString(DataBase,'SQL Server');
TheReg.CloseKey;
end;
finally
TheReg.Free;
end;
end;
---------------------------------------------------------------
对,在写数据原的时候照样写,在CREATE的时候 把 登陆ID 和密码从注册表中读出,按 tinderman(塞外飞鹄) 的方法去做没有问题。
先谢谢楼上的兄弟!!!
我试验了上面的代码了,有2点疑惑
1。客户端配置里面的网络库选择 tcp/ip得用程序实现!
2。 密码项如果写进去,咋写呢?所以,我还是认为是delphi中不可能完成的任务!!!========================================================= *)
=================================================================
如果 你能在写完代码后在说的话,那才是能力,那才是俺佩服的高手!!!
==================================================================================================================================期待真正的高手出现 !!!谢谢!!!
有意请至电:021 6249 2931
[email protected]
Try
ADOConnection.Open;
except
ADOConnection.Close;
if EditConnectionString(ADOConnection) then
begin
//showmessage(ADOConnection.ConnectionString);
WriteString('ConnStr',ADOConnection.ConnectionString);
end;
end;
-------------------------------------------
ODBC的客户端配置是通过ODBC administrator程序配置到注册表里面取的,
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources,
你可以通过修改里面的键值来对达到设置的目的。