【IT168技术文档】
如何在程序中动态配置连接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;
其中带“_”的为自定义的字符串。