最近做的一个项目要求程序可以自动在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
由此看出,
我们知道创建一个数据源的时候,需要指定用什么driver,是SQL Server还是Oracle还是其他什么数据库类型,它是通过指定driver的名称实现的。创建数据源时还需要要填入数据库所在的机器,数据库的名称,用户名,密码等信息,不同类型的数据库驱动这些信息是不一样的,这些信息怎样通过命令参数添加上去呢,使用DSN=name
|attributes这样一个字串的方式,把数据库的机器名,用户名,密码等信息作为attributes放置到DSN=name后面,不同属性用竖线分隔,DSN=name这个是必须有的,就是你的DSN的名字是什么,然后后面就是那些属性。
以我项目中的设置为例子,driver是Virtual View Manager 8.4,DSN需要设置,主机名,用户名,密码,数据库名,域名,目录名等,于是这些信息组成了字符串DSN=vvmfilenetp8;UID=admin;PWD=admin;DOMAIN=cognos;HOST=localhost;PORT=9401;DATASOURCE=fn;CATALOG=catalog;
整个命令行看起来如下
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。
通过以上的实践,作者感觉查看文档,看懂文档非常重要,它能帮助你自己解决很多问题。
分享到:
相关推荐
在Windows中,可以通过控制面板的“ODBC数据源管理器”图形界面来创建和管理这些数据源,但也可以通过命令行工具进行操作,这对于自动化脚本或在没有图形界面的服务器环境中非常有用。 在标题和描述中提到的Oracle ...
在Windows上,这可以通过“控制面板”中的“管理工具”>“ODBC数据源管理员”完成。在Linux或macOS上,可以使用`odbcinst`和`odbcconf`命令行工具。创建新的数据源时,你需要提供MySQL服务器的地址、端口、数据库名...
3. **配置数据源**: 使用`db2odbcconf`工具创建新的数据源,输入数据库连接信息。 4. **测试连接**: 使用`isql`或类似的ODBC测试工具,验证能否成功连接到DB2服务器。 5. **编程接入**: 在你的应用程序中,使用`#...
ODBCCONF.exe是一个用于配置ODBC驱动程序和数据源的命令行工具,其重要性在于它通常被视为可信的系统组件,因此有可能被利用来执行恶意代码。 微软官方文档中提到,ODBCCONF.exe存在于Windows的不同版本中,例如...
3. **配置工具**:UnixODBC提供了`odbcinst`和`odbcconf`命令行工具,用于安装、配置和测试ODBC驱动,以及管理ODBC数据源(DSN,Data Source Name)。 4. **兼容性**:UnixODBC遵循ODBC标准,确保跨平台的兼容性和...
安装完成后,你需要配置ODBC数据源(DSN,Data Source Name),这可以通过编辑`/etc/odbc.ini`和`/etc/odbcinst.ini`文件来完成。`odbc.ini`文件定义了数据源的属性,如数据库名称、用户、密码等,而`odbcinst.ini`...
5. 配置ODBC数据源,这通常涉及编辑`/etc/odbc.ini`和`/etc/odbcinst.ini`文件。 6. 安装相应的数据库驱动程序,如MySQL ODBC驱动。 7. 测试ODBC连接,例如,通过`isql`工具连接到数据源并执行SQL查询。 在实际应用...
5. 配置ODBC数据源,这通常涉及到编辑`/etc/odbc.ini`和`/etc/odbcinst.ini`文件。 **配置ODBC Data Source (DSN)**: 1. 在`/etc/odbcinst.ini`中定义驱动,比如MySQL驱动: ``` [MySQL] Description = MySQL ...
通过DOS命令行运行`odbcconf.exe`,按照正确的参数(如`/S/Lvodbcconf.log/F%systemroot%\system32\mdaccore.rsp`等)重新配置ODBC组件,确保所有必要的ODBC驱动和数据源被正确设置。 #### 检查日志文件 仔细阅读...
此外,开发者还需要配置ODBC数据源(DSN,Data Source Name),这通常通过ODBC管理器(如`odbcinst`和`odbcconf`命令行工具,或图形化的`isql`工具)完成。DSN定义了应用程序如何连接到特定的数据库,包括数据库的...