Windows上命令行实现运行时添加ODBC数据源-odbcconf命令的使用
???? 最近做的一个项目要求程序可以自动在windows上添加一个ODBC数据源,发现可以用Windows API中的SQLConfigDataSource函数可以实现,在查看MSDN文档时,这个函数等同于odbcconf.exe命令行工具。最好是使用SQLConfigDataSource自己实现一个application,用来创建ODBC数据源,但是使用odbcconf.exe命令行工具,然后通过java来调用也能实现该功能,于是就使用了它。
??? 该命令在msdn上可以查看到详细的参数的含义,msdn的链接:http://msdn.microsoft.com/en-us/library/ee388579%28v=vs.85%29.aspx
??? 主要用到是 /A {action} 这个参数,action可以有种选项,查看msdn一看便知,最主要的是使用CONFIGSYSDSN,就是创建一个系统DSN,这个命令的格式为
CONFIGSYSDSN driver_name DSN=name|attributes
?odbcconf.exe /A {CONFIGSYSDSN "Virtual View Manager 8.4" "DSN=vvmtest;UID=admin;PWD=admin;DOMAIN=cognos;HOST=localhost;PORT=9401;DATASOURCE=db;CATALOG=catalog;"}?
????? 当然不同数据库类型的DSN的属性都是不同的,具体是什么格式,需要自己去查看。
执行完这一命令,再去windows的ODBC数据源那里查看,名称为vvmtest的系统DSN就添加上去了。
当然你也可以使用INSTALLDRIVER参数先安装driver,实现安装driver,然后添加数据源都在程序中自动完成。具体如何使用可以查看msdn文档的说明。
????? 以上就算是抛砖引玉,该命令还有许多别的参数,可以实现其他功能。具体可以查看msdn。
通过以上的实践,作者感觉查看文档,看懂文档非常重要,它能帮助你自己解决很多问题。