DSN 作成

  MySQL ODBC 3.51 Driver



ドライバによってエントリの構成が違うので、実際に ODBC アドミニストレータで作成して調べる必要があります。

以下では、WScript.ShellWMI を使用していますが、その理由はレジストリのキーを作成
する場合、WScript.Shell だと 規定の値として "値の設定無し" にできない為です。
ですが、おそらく WScript.Shell でキーを作成しても動作すると思います。

( WScript.Shell でキーを作成する場合は、パスの最後に \ を付加して "REG_SZ" で値を設定します )

HKCU と &H80000001 はユーザDSN作成の為に使用しています。
システム DSN は、HKLM と &H80000002 です。

  
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
	".\root\default:StdRegProv")

strRoot = "HKCU"
nRoot = &H80000001
strPath1 = "Software\ODBC\ODBC.INI\ODBC Data Sources"
strPath2 = "Software\ODBC\ODBC.INI"

strDsn = "DSN_MySQL"
strDriver = "MySQL ODBC 3.51 Driver"

' 値
strTarget1 = strRoot & "\" & strPath1 & "\" & strDsn
' キー (WMI用)
strTarget2 = strPath2 & "\"	& strDsn
' キー (WScript.Shell用)
strTarget3 = strRoot & "\" & strPath2 & "\" & strDsn

' ODBC Data Sources エントリ作成
WshShell.RegWrite strTarget1, strDriver, "REG_SZ"

' ODBC エントリ作成
objReg.CreateKey nRoot, strTarget2
WshShell.RegWrite strTarget3 & "\Description", "by Script", "REG_SZ"
WshShell.RegWrite strTarget3 & "\Driver", "C:\WINDOWS\System32\myodbc3.dll", "REG_SZ"
WshShell.RegWrite strTarget3 & "\Server", "localhost", "REG_SZ"
WshShell.RegWrite strTarget3 & "\Database", "lightbox", "REG_SZ"
WshShell.RegWrite strTarget3 & "\User", "root", "REG_SZ"
WshShell.RegWrite strTarget3 & "\Password", "", "REG_SZ"
WshShell.RegWrite strTarget3 & "\Option", "3", "REG_SZ"
WshShell.RegWrite strTarget3 & "\Port", "3306", "REG_SZ"
WshShell.RegWrite strTarget3 & "\Stmt", "", "REG_SZ"
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加




SQLの窓  天気  IT用語辞典
Yahoo!ニュース  マルチ辞書
PHP マニュアル  Google URL短縮 


フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ