关闭

delphi中动态创建MySQL的ODBC连接 --转

2218人阅读 评论(0) 收藏 举报

1、用Delphi连接MySQL数据库,一般推荐两种方式:dbExpress,ODBC。dbExpress的效率较高,但对于本地客户端数据集比较麻烦。ODBC非常通用,如果用ODBC作为数据库访问层,后台数据库可以很容易切换,而代码基本不用修改。我们假设用ODBC连接MySQL数据库,首先要下载MySQL的ODBC驱动,到MySQL的官方网站就可以下载,然后安装即可。

2、在程序中一般要根据用户的配置自动配置ODBC,而不是让用户打开ODBC的配置窗口进行手工配置。ODBC的配置信息一般写在注册表中: HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI/ODBC Data Sources。我们可以通过写注册表的方法来建立ODBC连接,但操作注册表还算麻烦;为了简单,采用ODBC驱动提供的配置API函数:SQLConfigDataSource。

首先在Delphi单元中导入SQLConfigDataSource的声明:

function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL';

在需要配置ODBC的地方执行SQLConfigDataSource函数:

  SQLConfigDataSource(0, 4, 'MySQL ODBC 3.51 Driver',
            'DSN=yourdsnname' + chr(0) +
            'DATABASE=yourdatabase' + chr(0) +
            'SERVER=192.168.10.36'+chr(0) +
            'UID=root' + chr(0) +
            'PWD=yourpwd' + chr(0));

第一个参数固定为0。

第二个参数是配置操作类型:
#define ODBC_ADD_DSN 1
#define ODBC_CONFIG_DSN 2
#define ODBC_REMOVE_DSN 3
#define ODBC_ADD_SYS_DSN 4
#define ODBC_CONFIG_SYS_DSN 5
#define ODBC_REMOVE_SYS_DSN 6
#define ODBC_REMOVE_DEFAULT_DSN 7

第三个参数是数据库驱动的名称。
第四个参数是配置属性的字符串,每个属性间一定用'/0'分隔,Delphi中可以用chr(0)。

执行完后就建立了名称为yourdsnname的ODBC数据源,你可以重复调用上面的函数而不用担心会建立多个同名的
ODBC数据源。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:96480次
    • 积分:1253
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:8篇
    • 译文:0篇
    • 评论:15条
    文章分类
    最新评论