主题:怎样在程序中动态配置连接SQL SERVER的ODBC
建立一个system DSN:
////////////////////////////////////
GetMem(WinDir,256);
GetWindowsDirectory(WinDir,128);
//////////////////////////////////////////////
MyReg:=TRegistry.Create;
MyReg.RootKey:=HKEY_LOCAL_MACHINE;
if not MyReg.KeyExists('SoftWare\ODBC\ODBC.INI\_ODBC_Name')then
begin
MyReg.OpenKey('SoftWare\ODBC\ODBC.INI\_ODBC_Name',True);
end
else
begin
MyReg.OpenKey('SoftWare\ODBC\ODBC.INI\_ODBC_Name',False);
end;
MyReg.WriteString('Database','_dataBaseName ');
MyReg.WriteString('Driver',WinDir+'\System32\SQLSRV32.dll');
MyReg.WriteString('LastUser',_帐号);
MyReg.WriteString('Server','(local)');
MyReg.CloseKey;
////////////////////////////////
if not MyReg.KeyExists('SoftWare\ODBC\ODBC.INI\ODBC Data Sources')then
begin
MyReg.OpenKey('SoftWare\ODBC\ODBC.INI\ODBC Data Sources',True);
end
else
begin
MyReg.OpenKey('SoftWare\ODBC\ODBC.INI\ODBC Data Sources',False);
end;
MyReg.WriteString('_ODBC_Name','SQL Server');
MyReg.CloseKey;
MyReg.Free;
///////////////////////////
带“_”的为自定义的字符串。
////////////////////////////////////
GetMem(WinDir,256);
GetWindowsDirectory(WinDir,128);
//////////////////////////////////////////////
MyReg:=TRegistry.Create;
MyReg.RootKey:=HKEY_LOCAL_MACHINE;
if not MyReg.KeyExists('SoftWare\ODBC\ODBC.INI\_ODBC_Name')then
begin
MyReg.OpenKey('SoftWare\ODBC\ODBC.INI\_ODBC_Name',True);
end
else
begin
MyReg.OpenKey('SoftWare\ODBC\ODBC.INI\_ODBC_Name',False);
end;
MyReg.WriteString('Database','_dataBaseName ');
MyReg.WriteString('Driver',WinDir+'\System32\SQLSRV32.dll');
MyReg.WriteString('LastUser',_帐号);
MyReg.WriteString('Server','(local)');
MyReg.CloseKey;
////////////////////////////////
if not MyReg.KeyExists('SoftWare\ODBC\ODBC.INI\ODBC Data Sources')then
begin
MyReg.OpenKey('SoftWare\ODBC\ODBC.INI\ODBC Data Sources',True);
end
else
begin
MyReg.OpenKey('SoftWare\ODBC\ODBC.INI\ODBC Data Sources',False);
end;
MyReg.WriteString('_ODBC_Name','SQL Server');
MyReg.CloseKey;
MyReg.Free;
///////////////////////////
带“_”的为自定义的字符串。