【项目研究】自动安装并配置ODBC的思路与实现
2011-12-16 20:54
381 查看
一、如何自动注册ODBC数据源
其实都是用到一个函数:SQLConfigDataSource。
这里举两个有代表性的例子:
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下中查找刚才手动配置的数据源,点击后右侧出现的就是可以配置的信息项了。例如我的是这样的:
还有一个需要注意的就是各项之间无逗号,每项皆在引号里,最后记住加\0.(朗朗上口吧)
2、MySQL数据源(这个实在是特殊)
可以观察到,MySQL与之前微软系列最大的区别在于第四个参数的写法。注意,结尾必须是分号,否则一定会失效。(这个参考的是MySQL官方文档的写法)
很多网上的朋友在各大论坛里提问说,为何用微软派的写法写MySQL的自动注册数据源不好使,原因就在这里。它们是有点区别滴。再啰嗦一句,上面第四个参数的那些项名称同理与微软派,也是在注册表中对应出来的。
二、自动安装ODBC驱动的思路
填入这三个字段即可。
但我们无需编写代码去往注册表中写(当然这也可以实现),有一个exe会帮助我们,在正常安装完成ODBC驱动的时候(这里以MySQL为例),安装路径下会有上述的四个dll文件,还会有一个myodbc-installer.exe,这个可以帮助我们完成注册表的写入操作。
首先,将四个dll文件copy至system32文件夹下。
然后,cmd命令(win7请用右键管理员权限)进入myodbc-installer.exe所在文件夹。
最后,敲入命令:
如果显示Success: Usage count is 1,表示安装成功。
接下来要实现自动安装,就是用程序来调用以上三个步骤了。
其实都是用到一个函数:SQLConfigDataSource。
这里举两个有代表性的例子:
// 自动注册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下中查找刚才手动配置的数据源,点击后右侧出现的就是可以配置的信息项了。例如我的是这样的:
还有一个需要注意的就是各项之间无逗号,每项皆在引号里,最后记住加\0.(朗朗上口吧)
2、MySQL数据源(这个实在是特殊)
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驱动的思路
填入这三个字段即可。
但我们无需编写代码去往注册表中写(当然这也可以实现),有一个exe会帮助我们,在正常安装完成ODBC驱动的时候(这里以MySQL为例),安装路径下会有上述的四个dll文件,还会有一个myodbc-installer.exe,这个可以帮助我们完成注册表的写入操作。
首先,将四个dll文件copy至system32文件夹下。
然后,cmd命令(win7请用右键管理员权限)进入myodbc-installer.exe所在文件夹。
最后,敲入命令:
myodbc-installer.exe -d -a -n "MySQL ODBC 5.1 Driver" -t "DRIVER=myodbc5.dll;SETUP=myodbc5S.dll"
如果显示Success: Usage count is 1,表示安装成功。
接下来要实现自动安装,就是用程序来调用以上三个步骤了。
相关文章推荐
- 自动安装并配置ODBC的思路与实现(自动创建MysqlDSN )
- 自动安装并配置ODBC的思路与实现
- linux下SVN配置实现项目目录自动更新以及源码安装的操作方法
- linux下SVN配置实现项目目录自动更新以及源码安装
- ubuntu的Linux安装svn并部署项目,同时实现项目同步更新(本地提交commit,项目目录自动更新)
- centos 安装git服务器,配置使用证书登录并你用hook实现代码自动部署
- CentOS6.3安装配置iscsi并实现自动挂载
- 中国特色管理类软件项目开发之通用权限必杀技 -- 权限自由配置设定、实现智能化自动检测校验
- lnmp和lamp优化研究,参考的是阿里云的sh自动安装的配置优化
- Linux安装详解-配置ks.cfg实现自动安装过程
- centos6.5下安装svn并且实现多项目管理配置方案
- 利用PHP安装windows自动运行的服务,PHP程序可以实现长时间、自动运行、定时更新功能,直接可以用在项目中的类源代码
- 实现PXE自动安装的配置
- 中国特色管理类软件项目开发之通用权限必杀技 -- 权限自由配置设定、实现智能化自动检测校验
- 中国特色管理类软件项目开发之权限必杀技 -- 权限配置自由设定、实现智能化自动检测校验权限配置
- Jenkins配置MSBuild实现自动部署2(项目实践)
- Maven项目配置tomcat插件实现项目自动部署到远程服务器
- android实现cordova 配置安装及项目创建导入eclipse添加对话框插件
- jenkins的安装配置,插件配置,安装插件,配置maven,jdk路径,配置安装插件,项目配置,自动构建配置
- 中国特色管理类软件项目开发之通用权限必杀技 -- 权限自由配置设定、实现智能化自动检测校验