首页 > 编程 > Delphi > 正文

在Delphi里调用API函数动态建立ODBC数据源。

2019-11-18 18:36:05
字体:
来源:转载
供稿:网友
  在前段时间项目过程中倒数据过程中要求动态不同数据库倒数据时遇到的关于数据源的问题,当然,不能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表调试了好长时间,写出来希望大家免去浪费时间。

注:以上内容只供初学者遇到类似问题参考。


上一篇:如何在Delphi应用程序中调用CHM文档

下一篇:Delphi5的水晶报表控件在Delphi6下的安装过程

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片

新闻热点

疑难解答

图片精选

网友关注