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

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

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

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

l_xiaofeng

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值