怎么样在ODBC里面动态的建立一个用户级的DSN,用API方法
怎么样在ODBC里面动态的建立一个用户级的DSN,名字叫test_DSN, 数据库是Access的,数据库的文件名是test_DSN.mdb.
好象在一个.dll文件里面有API的函数可以用,但是怎么调用.dll我不会,而且那个函数我也不会使用。
请大家帮个忙,用程序些个样子给我。
还有要use哪个文件我就可以使用,reg: TRegistry了?
问题点数:20、回复次数:5Top
1 楼wangxl430(卡拉)回复于 2003-02-03 13:58:49 得分 15
简单改了一下我的源代码。
应该看得懂拉。
myreg:=tregistry.create;
with myreg do
begin
RootKey:=HKEY_LOCAL_MACHINE;
if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then
begin
WriteString('test_dsn','Microsoft Access Driver (*.mdb)');
end;
CloseKey;
if OpenKey('Software\ODBC\ODBC.INI\test_dsn',True) then
begin
WriteString( 'DBQ','test_dsn.mdb');//数据库目录,连接您的数据库
WriteString( 'Driver',windir+'\SYSTEM\odbcjt32.dll' );//驱动程序DLL文件
WriteInteger( 'DriverId', 25 );
if OpenKey('Software\ODBC\ODBC.INI\test_dsn\Engines\Jet',True) then
begin
WriteString( 'ImplicitCommitSync', 'Yes' );
WriteInteger( 'MaxBufferSize', 512 );//缓冲区大小
WriteInteger( 'PageTimeout', 10 );//页超时
WriteInteger( 'Threads', 3 );//支持的线程数目
WriteString( 'UserCommitSync', 'Yes' );
end;
end;
end;Top
2 楼wangxl430(卡拉)回复于 2003-02-03 13:59:21 得分 0
忘了
uses
registryTop
3 楼wangxl430(卡拉)回复于 2003-02-03 14:00:06 得分 0
又忘了
我这个是系统dsnTop
4 楼pilicat(Delphi迷)回复于 2003-02-03 14:08:27 得分 5
将楼上朋友的那句
RootKey:=HKEY_LOCAL_MACHINE;
改为:
RootKey:=HKEY_CURRENT_USER;
即为用户数据源。
Top
5 楼outer2000(天外流星)回复于 2003-02-03 14:13:47 得分 0
SQLConfigDataSourceTop




