自动安装并配置ODBC的思路与实现(自动创建MysqlDSN )

一、如何自动注册ODBC数据源

其实都是用到一个函数:SQLConfigDataSource。

这里举两个有代表性的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
// 自动注册FoxPro数据源
BOOL  bOBDC = SQLConfigDataSource(
             NULL,
             ODBC_ADD_DSN,
             "Microsoft Visual FoxPro Driver" ,
             "DSN = sk\0"
             "SourceDB=d:\\\0"
             "SourceType=DBF"
);
if  (!bOBDC)
{
     AfxMessageBox( "FoxPro数据源创建失败!" );
}

SQLConfigDataSource总共有四个参数,第一个一般都是NULL,第二个的参数代表你要进行的操作,可选参数如下:

ODBC_ADD_DSN: 增加_个新数据源

ODBC_CONHG_DSN: 配置(修改)一个已经存在的数据源

ODBC_REMOVE_DSN: 删除一个已经存在的数据源

ODBC_ADD_SYS_DSN: 增加一个新的系统数据源

ODBC_CONFIG_SYS_DSN: 更改一个已经存在的系统数据源

ODBC_REMOVE_SYS_DSN: 删除一个已经存在的系统数据源

第三个参数为数据源驱动的名称,可以在ODBC数据管理器中查看(或者注册表)。第四个参数需要注意,DSN、SourceDB、SourceType都是在注册表中查到的。怎么查呢?

你可以手动配置一个数据源,然后在regedit里面HKEY_CURRENT_USER –> Software –> ODBC –> ODBC.INI中查找刚才手动配置的数据源,点击后右侧出现的就是可以配置的信息项了。例如我的是这样的:

image

还有一个需要注意的就是各项之间无逗号,每项皆在引号里,最后记住加\0.(朗朗上口吧)

2、MySQL数据源(这个实在是特殊)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
BOOL  CLoggingDecodeDlg::ODBCConfig()
{
     // 自动注册MySQL ODBC数据源
     return  SQLConfigDataSource(
                 NULL,
                 ODBC_ADD_DSN,
                 "MySQL ODBC 5.1 Driver" ,
                 "DSN=test;"
                 "DATABASE=test;"
                 "SERVER=localhost;"
                 "PORT=3306;"
                 "USER=root;"
                 "PASSWORD=1234;"
     );
}

可以观察到,MySQL与之前微软系列最大的区别在于第四个参数的写法。注意,结尾必须是分号,否则一定会失效。(这个参考的是MySQL官方文档的写法)

很多网上的朋友在各大论坛里提问说,为何用微软派的写法写MySQL的自动注册数据源不好使,原因就在这里。它们是有点区别滴。再啰嗦一句,上面第四个参数的那些项名称同理与微软派,也是在注册表中对应出来的。

二、自动安装ODBC驱动的思路

其实ODBC驱动的核心在于四个dll文件:

image

然后在于注册表中的注册信息:

image

上图里可以看到其注册信息所在的路径,该路径下其实只填写了两个地方,一个是ODBC Drivers里面,一个是MySQL ODBC 5.1 Driver里面。主要是后者,如下图:

image

填入这三个字段即可。

但我们无需编写代码去往注册表中写(当然这也可以实现),有一个exe会帮助我们,在正常安装完成ODBC驱动的时候(这里以MySQL为例),安装路径下会有上述的四个dll文件,还会有一个myodbc-installer.exe,这个可以帮助我们完成注册表的写入操作。

首先,将四个dll文件copy至system32文件夹下。

然后,cmd命令(win7请用右键管理员权限)进入myodbc-installer.exe所在文件夹。

最后,敲入命令:

1
myodbc-installer.exe -d -a -n "MySQL ODBC 5.1 Driver"  -t "DRIVER=myodbc5.dll;SETUP=myodbc5S.dll"

如果显示Success: Usage count is 1,表示安装成功。

接下来要实现自动安装,就是用程序来调用以上三个步骤了。

  • 1
    点赞
  • 1
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 MySQL 5权威指南(第3版) 基本信息 原书名: The Definitive Guide to MySQL 5, Third Edition 原出版社: Apress 作者: (美)Michael Kofler 译者: 杨晓云 王建桥 杨涛 等 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:711515337X 上架时间:2006-11-27 出版日期:2006 年12月 开本:16开 页码:662 版次:3-1 内容简介   本书全面深入地介绍了mysql的功能,主要内容包括mysql、php、apache、perl等组件的安装功能简介,mysql等一些重要系统管理工具和用户操作界面的使用,mysql数据库系统设计的基础知识用不同语言设计mysql数据库的过程,以及sql语法、工具、选项、api应用指南,最大限度地帮助读者更快地学习和掌握mysql数据库系统的设计和使用。本书覆盖了mysql 5.0,讨论了新的程序设计接口(如php 5里的mysqli)和新的系统管理工具。    本书是mysql数据库管理员和开发人员的必备参考书。 作译者   Michael Kofler 在奥地利格拉茨技术大学获得计算机科学博士学位。他写了很多非常成功的计算机图书,内容涉及Visual Basic、Linux、Mathematica和Maple等多种程序没计语言和软件。Kofler还是Definitive Guide to Excel VBA第2版的作者。 目录 封面 -23 封底 -22 扉页 -21 版权 -20 版权声明 -19 译者序 -18 前言 -16 目录 -11 第一部分 入门 1 第1章 什么是MySQL 2 1.1 什么是数据库 2 1.1.1 关系、数据库系统、服务器和客户 2 1.1.2 关系数据库系统面向对象数据库系统 3 1.1.3 数据表、记录、字段、查询、SQL、索引和键 3 1.2 MySQL 4 1.3 MySQL的不足 6 1.4 MySQL的版本编号 7 1.4.1 Alpha、Beta、Gamma、Production(Generally Available) 8 1.4.2 按版本编号排列的MySQL功能表 8 1.5 MySQL的许可证 10 1.5.1 GPL许可证下的权利和义务 10 1.5.2 开源许可证下的MySQL软件 10 1.5.3 商用许可证下的MySQL软件 11 1.5.4 MySQL客户软件开发库(Connector/ODBC、Connector/J等)的商用许可证 12 1.5.5 PHP项目的客户许可证问题——F(L)OSS特例 12 1.5.6 MySQL软件的版本名称 13 1.5.7 MySQL软件的技术支持合同 14 1.6 MySQL软件的替代品 14 1.7 小结 15 第2章 测试环境 16 2.1 是Windows还是UNIX/Linux 16 2.1.1 MySQL应用现状(因特网上的数据库服务器) 16 2.1.2 开发环境 17 2.2 在Windows系统上安装MySQL和相关软件 17 2.2.1 安装Apache 2.0 18 2.2.2 安装MySQL 5.0 19 2.2.3 安装PHP 5.0 22 2.2.4 安装Perl 23 2.3 在SUSE Linux 9.3系统上安装MySQL和相关软件 25 2.3.1 安装Apache 2、PHP 5和Perl 25 2.3.2 安装MySQL 5.0 27 2.4 在Red Hat Enterprise Linux 4系统上安装MySQL和相关软件 29 2.4.1 安装Apache 2 29 2.4.2 安装MySQL 5 30 2.4.3 编译PHP 5 30 2.4.4 安装Perl 5.8 33 2.5 编译MySQL软件的开发者版本(Linux) 33 2.5.1 安装Bitkeeper 33 2.5.2 下载MySQL软件的开发者版本 34 2.5.3 编译MySQL 34 2.5.4 创建用来管理访问权限的mysql数据库 34 2.5.5 MySQL配置文件和Init-V脚本 34 2.5.6 启动MySQL服务器 35 2.6 配置Apac
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值