2

既存のシステム DSN の MS Access .mdb ファイルへのパスを変更するには、どの odbcconf.exe コマンド ラインを使用できますか?

4

2 に答える 2

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 構成を見ると、状況に合わせてコードを変更する方法がわかります。

于 2010-08-06T07:18:59.350 に答える
1

質問に答えるために、レジストリに直接アクセスする代わりに odbcconf.exe を使用するソリューションを次に示します。

odbcconf.exe configsysdsn ^
  "Microsoft Access Driver (*.mdb, *.accdb)" ^
  "DSN=OurConnectionName;DBQ=X:\Path\to\OurMsAccessDB.mdb"

私がしばらくつまずいた2つの注意事項:

  • 64 ビット システムでは 64 ビット odbcconf.exe を使用していることを確認してください
  • mdb パスではDBQ=なく使用します。Database=後者を使用すると、すべてが機能しているように見えますが、接続リンクには名前が付けられていますが、ODBC アドミニストレーターで実際に定義されていません。
于 2013-01-29T21:26:45.557 に答える