怎么样在命令行下新建一个数据源?
前几天用Java语言做成一个"remote Query Analyzer"(远程查询分析器),可以查询数据库,但老是要建数据源才可以连接,于是自己想有没有办法在Java代码中用运行DOS命令行让它运行时自动新建数据源,这就需要知道怎么在MS-DOS下新建数据源,在网上找了很多资料,讲的方法都没办法实现,于是整合了资料,自动想出法子解决了。
可以用odbcconf这个命令实现新建数据源,打下odbcconf /?看看有什么帮助,其实我也看不懂,哈哈
odbcconf CONFIGSYSDSN "SQL Server" "DSN=DataSource|SERVER=(local)|Database=pubs"
CONFIGSYSDSN -----------系统数据源
"SQL Server"------------要配置的服务器
DSN=DataSource-----------数据源名DataSource
SERVER=(local)-----------服务器名local
Database=pubs---------数据库名pubs
把这句打入命令行下是可以新建一个数据源的,但它建的是一个Administrator用户登陆的数据源,不是我们SQL管理员sa登陆的数据源,所以建出来的数据源是没有用的,根本连不了数据库。有的网上资料说加一个管道|UID=用户名|PWD=密码。加这个根本行不通,其实在建数据源的时候不需要用户的密码就可以建的,密码只是用来测试能不能连得上数据库。
于是想把建好的数据源改下名不就可以了吗?对,找了找资料,原来他把新建的数据源写入到注册表的一个项中,只要把它里面的信息改下就可以(Administrator改为sa)。它保存在注册表中这个项里:
HKEY_LOCALMACHINE/SOFTWARE/ODBC/ODBC.INI/数据源名
打开这个项,可以把里面的字符串LastUser值Administrator改为sa即可!
于是写修改注册表的命令:
REG DELETE "HKLM/SOFTWARE/ODBC/ODBC.INI/DataSource" /v "LastUser" /f
REG ADD "HKLM/SOFTWARE/ODBC/ODBC.INI/DataSource" /v "LastUser" /t "REG_SZ" /d "sa" /f
这样子就可以新建一个数据源了。完整的命令是:
odbcconf CONFIGSYSDSN "驱动程序名" "DSN=数据源名|SERVER=服务器名|Database=数据库名"
REG DELETE "HKLM/SOFTWARE/ODBC/ODBC.INI/数据源名" /v "LastUser" /f
REG ADD "HKLM/SOFTWARE/ODBC/ODBC.INI/数据源名" /v "LastUser" /t "REG_SZ" /d "sa" /f
PAUSE
把它保存为.bat文件就可以了,试试。。。。。。。。。。等等、。、
本文地址:http://www.45fan.com/bcdm/68493.html