パスワードを忘れた? アカウント作成
497764 journal

patagonの日記: [コンピュータ]ODBCデータソース - システムDSN にドライバSQL Serverをバッチ(スクリプト)で登録する

日記 by patagon

ODBCデータソース - システムDSN にドライバSQL Serverを登録する。テストで2台GUIでやったがもう嫌になった。今後を考えバッチでやる方法を探す。ドライバがMicrosoft Accessの場合はネット上でもかなり情報がある。これがSQL Serverとなると情報が少ない。ましてやWindows認証でなく、SQL Serverログインとなるとさらに少なくなる。

odbcconf(>odbcconf/?)を使おうとするが、「対になっているキーワード値が無効です。with error code-2147467259」と警告されうまくいかない。
UserID(User ID,UID)、Password(PWD)を外すとうまくいった。ここはアプリケーションから指定するからいいか。

odbcconfをバッチファイルで使う方法

REM odbcconf_サーバ名.bat,odbcconf.bat
@ECHO OFF
REM Update the DSN for InvControl to point to new Production SQL server...
odbcconf.exe /a {CONFIGSYSDSN "SQL Server" "DSN=DSN(名前)|Description=DSNの説明|SERVER=サーバ名|Trusted_Connection=no|Database=既定(にする)データベース(名)"}
REM pause
@CLS
@EXIT

VBSを使う方法
UserIDはレジストリ見ていると"LastUser"というのを使うことも出来るようだ。
こちらは環境によっては原因不明だがレジストリに登録されて、アプリケーションからも接続できるが、ODBC データソース アドミニストレータの「システムDSN」タブで開く画面上に名前等が表示されないことがあったので私的にはお勧めできない。

'ODBCデータソース_システムDSN追加_サーバ名.vbs,odbcconf.vbs
Const HKEY_LOCAL_MACHINE = &H80000002

strComputer = "."

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

strKeyPath = "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources"
strValueName = "DSN(名前)"
strValue = "SQL Server"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strKeyPath = "SOFTWARE\ODBC\ODBC.INI\DSN(名前)"

objReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath

strKeyPath = "SOFTWARE\ODBC\ODBC.INI\DSN(名前)"

strValueName = "Database"
strValue = "既定(にする)データベース(名)"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strValueName = "Driver"
strValue = "C:\WINDOWS\system32\SQLSRV32.dll"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strValueName = "Server"
strValue = "サーバ名"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strValueName = "LastUser"
strValue = "ユーザID"
objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

以下、参考(◎はお勧め)
◎Hey, Scripting Guy! DSN の作成および削除をスクリプトで行うことはできますか
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/nov04/hey1110.mspx

[コマンド]odbcconf でのDNS(DSNの誤りか?)登録について in SQL Server
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.jp.sqlserver.server&tid=90844d9b-10e8-4518-95e2-f129aad00322&cat=ja_JP_10ee12af-85e4-4ed6-9b89-e5d51d6fa65e&lang=ja&cr=JP&p=1

Hey, Scripting Guy! コンピュータ上のシステム DSN の一覧を取得する方法はありますか
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/jul05/hey0725.mspx

Error Creating DSN using odbcconf.exe for SQL Server - MSDN Forums
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=762839&SiteID=1

◎Why batch files are still useful(一番下に)Create ODBCs for connecting to backend databases The example shows a connection to a SQL server using a Windows NT login
http://searchwincomputing.techtarget.com/tip/0,289483,sid68_gci1104365,00.html

◎ODBC and SQL Server SQLConfigDataSource
http://msdn2.microsoft.com/en-us/library/aa177860(SQL.80).aspx

script or batch file for ODBC connection
http://www.myitforum.com/forums/script_or_batch_file_for_odbc_connection/m_138129/tm.htm

コマンドラインで ODBC データソースを作成 ? Portal
http://kumasoft.org/devmemo/odbcconf

Visual Studio User Group > フォーラム > エミュレータから自PCのSQLServerへのアクセスについて
http://vsug.jp/tabid/63/forumid/50/postid/4869/view/topic/Default.aspx

.NET開発のTipsなぐりがき! 基本
http://72.14.235.104/search?q=cache:ZDEVxEvTmV0J:rararahp.blog69.fc2.com/blog-category-1.html+Trusted_Connection+user&hl=ja&ct=clnk&cd=5&gl=jp&lr=lang_ja&inlang=ja

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...