我可以使用哪个odbcconf.exe命令行来更改已存在的系统DSN的MS Access .mdb文件的路径?
答案 0 :(得分:2)
您必须通过更改注册表来完成此操作。这个例子中的某些东西取自我之前使用过的网
rem -----Author: Jim Michaels
rem -----copy the drivers where all good little ODBC drivers go
if errorlevel 1 goto bye
copy myodbcd.dll C:\WINDOWS\SYSTEM
if errorlevel 1 goto bye
rem ----create a .REG file to make registry entries
echo REGEDIT4>myodbc.reg
echo.>>myodbc.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL]>>myodbc.reg
echo "APILevel"="2">>myodbc.reg
echo "ConnectFunctions"="YYN">>myodbc.reg
echo "Driver"="C:\\WINDOWS\\SYSTEM\\myodbc.dll">>myodbc.reg
echo "DriverODBCVer"="02.50">>myodbc.reg
echo "FileExtns"="*.txt">>myodbc.reg
echo "FileUsage"="0">>myodbc.reg
echo "Setup"="C:\\WINDOWS\\SYSTEM\\myodbc.dll">>myodbc.reg
echo "SQLLevel"="1">>myodbc.reg
echo.>>myodbc.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]>>myodbc.reg
echo "MySQL"="Installed">>myodbc.reg
echo.>>myodbc.reg
rem -----install the registry entries by executing the .REG file
start /wait myodbc.reg
rem ----clean up after we are done installing
del myodbc.reg
:bye
如果您在注册表中查看现有的DSN配置,那么您将了解如何修改代码以适合您的情况
答案 1 :(得分:1)
要回答问题,这是使用odbcconf.exe而不是直接进入注册表的解决方案:
odbcconf.exe configsysdsn ^
"Microsoft Access Driver (*.mdb, *.accdb)" ^
"DSN=OurConnectionName;DBQ=X:\Path\to\OurMsAccessDB.mdb"
让我绊倒一段时间的两个注意事项:
DBQ=
而不是Database=
作为mdb路径。使用后者时,一切似乎都有效,但连接链接已命名,但实际上并未在ODBC管理员中定义。