|

楼主 |
发表于 2009-12-24 11:03:31
|
显示全部楼层
function CreateSQLServerDSN(const FDSN, FServer, FUser: string): boolean;
var
RegisterTemp: TRegistry;
s: string;
begin
RegisterTemp := TRegistry.Create;
with RegisterTemp do
begin
RootKey := HKEY_LOCAL_MACHINE;
//首先判断此DSN是否已经存在,如在,则不用继续下去
if OpenKey('Software\ODBC\ODBC.INI\' + FDSN, False) then
begin
CloseKey;
Result := True;
Free;
exit;
end;
CloseKey;
//判断SQL Server的驱动程序是否已经安装
if OpenKey('Software\ODBC\ODBCINST.INI\ODBC Drivers', False) then
begin
s := ReadString('SQL Server');
if UpperCase(S) <> 'INSTALLED' then
begin
CloseKey;
Result := False;
Free;
exit;
end;
end
else
begin
CloseKey;
Result := True;
Free;
exit;
end;
CloseKey;
//寻找SQL Server的驱动程序路径
if OpenKey('Software\ODBC\ODBCINST.INI\SQL Server', False) then
begin
s := ReadString('Driver');
if S = '' then
begin
CloseKey;
Result := False;
Free;
exit;
end;
end
else
begin
CloseKey;
Result := True;
Free;
exit;
end;
CloseKey;
//注册一个DSN名称
if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources', True) then
WriteString(FDSN, 'SQL Server')
else
begin
CloseKey;
Result := True;
Free;
exit;
end;
CloseKey;
if OpenKey('Software\ODBC\ODBC.INI\' + FDSN, True) then
begin
WriteString('Driver', S);
WriteString('LastUser', FUser);
WriteString('Server', FServer);
Result := True;
end
else
begin
CloseKey;
Result := False;
Free;
exit;
end;
CloseKey;
Free;
end;
end;
-----------------------
在平台上如何转换 ? |
|