在Delphi里调用API函数动态建立ODBC数据源。
2003-03-31 09:36
363 查看
在前段时间项目过程中倒数据过程中要求动态不同数据库倒数据时遇到的关于数据源的问题,当然,不能ADOQUERY连接的DBF表(未下补丁版本,后发现也可连接)一定要建ODBC进行连接处理,那么ODBC一定要动态建立以排除用户删除ODBC的可能,下面我就把API函数原型及建SQLSERVER和DBF表的语句写下来共享(当然SQLSERVER在ADO状态下不必建立)。
SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;
调用状态下使用:
function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL';
建立SQLSERVER的ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=Record_ODBC'+ chr(0) +'Server=(local)'+ chr(0) +'Database=master'+ chr(0) +'Description=DragonPC SQLServer ODBC Source'+ chr(0));
{ DSN:你的ODBC数据源名称。
Server:你的数据库服务器名称,使用(local)指的是本地计算机安装的数据库。注:最新的SQL Server 2000支持一台计算机运行多个SQL Server服务,这个时候你需要指定SqlSever的InstanceName。
Address:指定SQL Server服务器的网络IP地址。
Database:指定默认数据库名称。
Language:指定默认语言。
Description:备注信息。}
建立DBF表ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, 'Microsoft Visual FoxPro Driver' + CHR(0), 'dsn=SourceTable' + CHR(0) + 'BackgroundFetch=Yes' + CHR(0) + 'Description=descripcion de la conexion' + CHR(0) + 'Exclusive=No' + CHR(0) +sourcedbstr + CHR(0) +'Sourcetype=DBF');
其他均雷同,只是在建立DBF表调试了好长时间,写出来希望大家免去浪费时间。
注:以上内容只供初学者遇到类似问题参考。
SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;
调用状态下使用:
function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL';
建立SQLSERVER的ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=Record_ODBC'+ chr(0) +'Server=(local)'+ chr(0) +'Database=master'+ chr(0) +'Description=DragonPC SQLServer ODBC Source'+ chr(0));
{ DSN:你的ODBC数据源名称。
Server:你的数据库服务器名称,使用(local)指的是本地计算机安装的数据库。注:最新的SQL Server 2000支持一台计算机运行多个SQL Server服务,这个时候你需要指定SqlSever的InstanceName。
Address:指定SQL Server服务器的网络IP地址。
Database:指定默认数据库名称。
Language:指定默认语言。
Description:备注信息。}
建立DBF表ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, 'Microsoft Visual FoxPro Driver' + CHR(0), 'dsn=SourceTable' + CHR(0) + 'BackgroundFetch=Yes' + CHR(0) + 'Description=descripcion de la conexion' + CHR(0) + 'Exclusive=No' + CHR(0) +sourcedbstr + CHR(0) +'Sourcetype=DBF');
其他均雷同,只是在建立DBF表调试了好长时间,写出来希望大家免去浪费时间。
注:以上内容只供初学者遇到类似问题参考。
相关文章推荐
- Delphi中API函数动态调用
- Delphi 动态与静态调用DLL
- Delphi中怎么调用VC++创建的动态链接库
- 动态库的建立及C++调用与环境变量的使用
- Visual Studio下建立并隐式调用自己的动态链接库dll
- Delphi中如何调用VC++创建的动态链接库
- 在Delphi中调用VC++创建的动态链接库的Demo
- VC调用Delphi制作的动态链接库如何互相传递字符串
- C#调用API函数给Winform窗体添加动态特效
- 【C#】调用API函数给Winform窗体添加动态特效(转)
- Visual Studio下建立并隐式调用自己的动态链接库dll
- Delphi中调用API函数经验点滴(二)
- Delphi中DLL的建立和调用
- VB动态调用外部API函数的方法
- dll函数动态调用工具1.0(Delphi+asm实现)
- Delphi调用C#动态链接库DLL(摘自网络)
- VC6动态调用DELPHI DLL
- Delphi 使用 RTTI 动态通过名称调用函数和设置控件属性值
- 在DELPHI程序中动态设置ODBC数据源(2/2)
- Delphi动态调用Java的WebService 转