「ODBCデータソースアドミニストレータ」にDSNが表示されない2016年10月28日 16時05分33秒

「ODBCデータソースアドミニストレータ」にDSNが表示されない


先日、大崎で仕事をした時にMySQLにODBC接続するドライバをインストールしたが、その確認がODBCデータソースアドミニストレータで出来ないという問題が発生した。
マイクロソフトのOffice製品でMySQLにODBC接続してデータを抽出するというEUC(エンドユーザーコンピューティング)ツールの改修だったので、どうしてもDSNの情報が必要だったのだ。

現象:
64ビットOSに32ビットのMySQLのODBCドライバをインストールして「ODBCデータソースアドミニストレータ」で確認してもにDSNが表示されない。

ODBC接続ドライバ(32ビット版)を64ビットOSにインストールした場合、「ODBCデータソースアドミニストレータ(64ビット)」にインストールドライバが表示されない場合がある。
それは、「C:\Windows\System32\odbcad32.exe」を開いている為で、「C:\Windows\SysWOW64\odbcad32.exe」を開くと、「ODBCデータソースアドミニストレータ(32ビット)」として登録されていることがある。

※64ビットOSの場合、どちらの「ODBCデータソースアドミニストレータ」を開いているかを確認する必要がある。
※特に、大手の企業では、コントロールパネル等の管理画面を表示させない設定でキッティングされている場合があるので、要注意だ!

開発事例

ExcelでMySQLサーバーへ接続2016年10月28日 16時47分11秒

ExcelでMySQLサーバーへ接続

マイクロソフトのOffice製品でMySQLに接続するには、
1.MySQL用のODBC接続ドライバをインストールする。
2.「ODBCデータソースアドミニストレータ」でDNSを作成・設定する。
3.VBAでODBC接続のプログラムを作成する。


Sub MySQL接続()
On Error GoTo errHandler
Dim myCon As New ADODB.Connection 'Connectionオブジェクト

'接続文字列を設定する
myCon.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};" _
& "Server=localhost; Database=kokyaku_kanri; Uid=root; Pwd=1234"'MySQLのIDとパスワード
'Server=localhost;はサーバーの名前、またはIPアドレスを記述。ここでは自分自身を指定している。
'データベースに接続する
myCon.Open
MsgBox "接続しました。"
'※ここにデータベースの処理を記述します。
'接続を切断する
myCon.Close
MsgBox "切断しました。"

procContinue:
Set myCon = Nothing
Exit Sub

errHandler:
'エラーが発生した場合にエラーメッセージを表示する
MsgBox Err.Description
Resume procContinue
End Sub

以上でExcelでMySQLサーバーへ接続が可能になります。
開発事例


「ODBC DNS エントリの作成」2016年10月28日 16時57分47秒

「ODBC DNS エントリの作成」

MySQLにマイクロソフトのOffice製品で接続する場合、ODBC接続を使います。
以下、PDFにMySQLのODBC接続ドライバをインストール後の「ODBC DNS エントリの作成」手順を記載します。
開発事例