自动配置ODBC(100分)

  • 主题发起人 主题发起人 laiyin_he
  • 开始时间 开始时间
L

laiyin_he

Unregistered / Unconfirmed
GUEST, unregistred user!
如何自动配置ODBC?
就象配置BDE那样,我试着采用配置了一下,但连不通。
 
//摘自《中国计算机世界日报》
{*******************************************************
在本程序中,将创建一个ODBC系统数据源(DSN),
数据源名称:MyAccess 数据源描述:我的新数据源
数据库类型:ACCESS97
对应数据库:C:/Inetpub/wwwroot/test.mdb
*******************************************************}
{ 注意应在USES语句中包含Registry }
procedure TForm1.Button1Click(Sender: TObject);
var
registerTemp : TRegistry;
bData : array[ 0..0 ] of byte;
begin
registerTemp := TRegistry.Create;
//建立一个Registry实例
with registerTemp do
begin
RootKey:=HKEY_LOCAL_MACHINE;
//设置根键值为HKEY_LOCAL_MACHINE

//找到Software/ODBC/ODBC.INI/ODBC Data Sources
if OpenKey('Software/ODBC/ODBC.INI
/ODBC Data Sources',True) then
begin //注册一个DSN名称
WriteString( 'MyAccess', 'Microsoft
Access Driver (*.mdb)' );
end
else
begin//创建键值失败
memo1.lines.add('增加ODBC数据源失败');
exit;
end;
CloseKey;

//找到或创建Software/ODBC/ODBC.INI
/MyAccess,写入DSN配置信息
if OpenKey('Software/ODBC/ODBC.INI
/MyAccess',True) then
begin
WriteString( 'DBQ', 'C:/inetpub/wwwroot
/test.mdb' );//数据库目录
WriteString( 'Description',
'我的新数据源' );//数据源描述
WriteString( 'Driver', 'C:/PWIN98/SYSTEM/
odbcjt32.dll' );//驱动程序DLL文件
WriteInteger( 'DriverId', 25 );
//驱动程序标识
WriteString( 'FIL', 'Ms Access;' );
//Filter依据
WriteInteger( 'SafeTransaction', 0 );
//支持的事务操作数目
WriteString( 'UID', '' );//用户名称
bData[0] := 0;
WriteBinaryData( 'Exclusive', bData, 1 );
//非独占方式
WriteBinaryData( 'ReadOnly', bData, 1 );
//非只读方式
end
else//创建键值失败
begin
memo1.lines.add('增加ODBC数据源失败');
exit;
end;
CloseKey;

//找到或创建Software/ODBC/ODBC.INI
/MyAccess/Engines/Jet
//写入DSN数据库引擎配置信息
if OpenKey('Software/ODBC/ODBC.INI
/MyAccess/Engines/Jet',True) then
begin
WriteString( 'ImplicitCommitSync', 'Yes' );
WriteInteger( 'MaxBufferSize', 512 );//缓冲区大小
WriteInteger( 'PageTimeout', 10 );//页超时
WriteInteger( 'Threads', 3 );//支持的线程数目
WriteString( 'UserCommitSync', 'Yes' );
end
else//创建键值失败
begin
memo1.lines.add('增加ODBC数据源失败');
exit;
end;
CloseKey;

memo1.lines.add('增加新ODBC数据源成功');

Free;
end;
end;

 
提供两个关于ASP的例子,
希望对你有用
把它们都放在一行就可以
还有问题请来信
delphiasp@263.net
(1)
connstr="DBQ="+server.mappath("db/board.mdb")+";
DefaultDir=;
DRIVER={Microsoft Access Driver (*.mdb)};
DriverId=25;
FIL=MS Access; ImplicitCommitSync=Yes;
MaxBufferSize=512;
MaxScanRows=8;
PageTimeout=5;
SafeTransactions=0;
Threads=3;UserCommitSync=Yes;"

(2)
guestbook="DBQ="+server.mappath("liuyanban.mdb")+";
DefaultDir=;
DRIVER={Microsoft Access Driver (*.mdb)};
DriverId=25;FIL=MS Access; ImplicitCommitSync=Yes;
MaxBufferSize=512;MaxScanRows=8;
PageTimeout=5;SafeTransactions=0;
Threads=3;UserCommitSync=Yes;"
 
前卫兄资料真不少啊,说起话来引经据典的
 
Pipi.资料是挺多,可是就是没看.有事没事就上网逛逛,反正在办机房上网又不要钱。
 
请问前卫兄来自何方?

多多指教一些关于delphi
知东东
 
移动通信公司啦,我是初学者,水平差着咧,还感指教什么! {B-)
真正的高手如CJ,cAkk,Another_Eyes,Pipi....
 
哇,我也列在其中,荣幸荣幸!

不过,排名第4,...,没关系,...,排名不分先后,排名不分先后
 
接受答案了
 
啊?我得了40分?无功不受禄啊,又不劳而获了,嘿嘿
 
Pipi,别人信任你嘛,他可能是想以后再让你帮组他呢.呵呵。。。
 
后退
顶部