私はVBScriptを初めて使用します。誰かがVBScriptを使用してSQLServer 2005(OLEDB)に接続し、データベースのテーブルを更新するのを手伝ってくれませんか。
私のサーバー:sql14\qw
私のデータベース:フレット
ユーザーID:管理者
パスワード:合格
テーブル名:ルックアップ
Const DB_CONNECT_STRING = "Provider=SQLOLEDB.1;Data Source=sql14\qw;Initial Catalog=fret;user id ='admin';password='pass'"
Set myConn = CreateObject("ADODB.Connection")
Set myCommand = CreateObject("ADODB.Command" )
myConn.Open DB_CONNECT_STRING
Set myCommand.ActiveConnection = myConn
myCommand.CommandText = "UPDATE lookup SET Col1 = 'Hello'"
myCommand.Execute
myConn.Close
統合Windowsセキュリティを使用してテストされましたが、SQLログインではテストされませんでした。
実際、簡単なことです。まず、使用する接続とレコードセットを定義する必要があります。
Set AdCn = CreateObject("ADODB.Connection")
Set AdRec = CreateObject("ADODB.Recordset")
その後は、接続文字列がすべてです。
connstr="Provider=SQLOLEDB.1;Data Source=" & server & ";Initial Catalog=" & database & ";user id = '" & uid & "';password='" & pwd & "'"
文字列はいくつかの部分で構成されています。
プロバイダー:確立する接続の種類(この場合はSQL Server)。
データソース:接続しているサーバー。
初期カタログ:データベースの名前。
ユーザーID:ユーザー名。
パスワード:ええと、あなたのパスワード。 ;)
Windowsのログイン資格情報を使用し、スクリプトをローカルで実行している場合は、ユーザー名とパスワードのフィールドを次のように置き換えることができます。
Integrated Security=SSPI
もちろん、これはWebサイトでスクリプトを使用している場合は機能しないため、ユーザー名とパスワードを明示的に使用する必要があります。次に、レコードセットを開き、SQLクエリを渡して、返されたデータを配列としてキャプチャします。
SQL="Select @@version as name"
AdRec.Open SQL, AdCn,1,1
queryReturn=Adrec("name")
データは配列として返されることを覚えておいてください(多くの場合、2次元であり、必要な結果は実際には配列の2次元にあります!)。結果の最後の空白を削除するためにトリムするか、 Leftなどの文字列関数を使用して結果を解析します。個人的には、隠された空白に数え切れないほど何度も噛まれてきたので、変数に割り当てている間は常に結果をTrim()します。