|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|

ODBC DSNの自動作成

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ODBC DSNの自動作成(WSH)
【ta.oohahsi 20050921】

ODBCのシステムDSN(データソースネーム)の参照と作成方法を記します。

C/S(クライアント/サーバ)方式のDBMSで、ADOやoo4oなどのミドルウェアオブジェクトが主流になりつつありますが、
現役で動作しているミドルウェアでは、ODBCが多いのではないでしょうか。

ODBCは、現在、以下の3つの形態があります。

・ユーザDSN・・・・・ログイン名ごとに作成される。レジストリのHKEY_CURRENT_USER\Software\ODBC\odbc.iniに作成される。
・システムDSN・・・・・パソコンごとに作成される。レジストリのHKEY_LOCAL_MACHINE\Software\ODBC\odbc.iniに作成される。
・ファイルDSN・・・・・拡張子dsnのファイルとして作成される。

複数人で、同じ内容のDSNを使用する場合は、ファイルDSNを使用します。
ただし、ファイルDSNはODBC3からサポートされたので、ODBCドライバが、3以上でないと、ファイルDSNを使用できません。

一般的に使用されるのは、システムDSNが多いと思います。

そこでプログラムにシステムDSNを作成するモジュールを組み込めば、同じ内容のDSNを複数人が使用できます。

システムDSNの作成方法は、いろいろありますが、ここでは、ODBCのAPI関数を使用します。

*******************************************
Const HKEY_LOCAL_MACHINE = &H80000002

'設定PC名
strComputer = "."

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

strKeyPath = "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources"
'DSN名
strValueName = "ScriptR"
'接続ドライバの指定
strValue = "SQL Server"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

'strKeyPath = "SOFTWARE\ODBC\ODBC.INI\Script Repository"
strKeyPath = "SOFTWARE\ODBC\ODBC.INI\" + strValueName

objReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath

'strKeyPath = "SOFTWARE\ODBC\ODBC.INI\Script Repository"
strKeyPath = "SOFTWARE\ODBC\ODBC.INI\" + strValueName


'DB名
strValueName = "Database"
strValue = "master"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

'ドライバ名(SQL Serverを指定)
strValueName = "Driver"
strValue = "C:\WINDOWS\System32\SQLSRV32.dll"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

'接続先サーバ名
strValueName = "Server"
strValue = "(local)"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

'NT認証ON(SQL認証の場合は以下の項目をコメントアウト)
strValueName = "Trusted_Connection"
strValue = "Yes"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
*******************************************

参考

■[[MicrosoftTechNet Hey,Scripting Guy!>http://www.microsoft.com/japan/technet/prodtechnol/windows2000serv/technologies/iis/maintain/optimize/autoadm2.mspx]]

ノウハウ提供ページ


○○に関するノウハウを自由にご記入下さい。







Brains