利用ODBC访问ACCESS数据库,在制作安装程序在其他机器安装后始终不能访问ACCESS数据库
提示table1连接的BDE别名无效。
谢谢!
提示table1连接的BDE别名无效。
谢谢!
解决方案 »
- 怎样将控件绑定到GRID?
- CheckBox组件如何实现多条件查询,
- database問題
- 如何记录系统异常退出的时间并写入数据库?
- 在那里有etcell控件下载,有没有类似QQ的那种控件
- 我的PageControl的页标签上设置了右键弹出菜单,在菜单中有个“关闭”项。也就是当鼠标放在当前窗口的页标签上,点击“关闭”即可关闭。
- 关于copyfile()这个函数的使用
- 怎样搭建web services的实验环境?我想学习!高手帮忙
- 在C/S方式下的程序中怎么做主副明细表呢?
- 《Delphi 4 Developer's Guide Coding Standards Document》的汉化版哪里有??
- stringgrid的问题?
- 请问如何去除MDI子窗体中的标题栏?
什么麻烦都没有了
在本程序中,将创建一个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;