SQLServerを使ったシステムを作ることが多いんですが、システムセットアップの時にテーブルを作成したり、ビューを作成したり、トリガーとか、色々とセットアップする必要とかありますよね。
マスタデータや定義データとか、あれって、わざわざ、SQLServer Management Studioとかで、接続して流すとかって、エンドユーザのとこでやるの、煩雑で面倒ですよね。 手順書とか作成させられたりとかで・・・
そこで、VBScriptを使って、テーブル作成をするスクリプトを作りました。
これのSQL文字を適当に変更すれば、他にも応用ができるでしょ。
ファイル名:createtbl.vbs
Dim rMsg
rMsg = MsgBox("はい..作成 キャンセル.何もしない",vbOKCancel,"テスト テーブル作成")
If rMsg = vbOK Then
MsgBox "テーブル作成"
CreateTable "user","password","connectionstring", "databasename"
End If
'実テーブル作成
Sub CreateTable( user, pass, server, dbname )
'サーバーに接続します。
Set CN = CreateObject("ADODB.Connection")
CN.ConnectionString = "Provider=SQLOLEDB;" & _
"Data Source=" & server & ";" & _
"Initial Catalog=" & dbname & ";" & _
"User Id=" & user & ";" & _
"Password=" & pass & ";"
CN.Open
SET RecDBName = CreateObject("ADODB.Recordset")
On Error Resume Next
RecDBName.Open GetCreateTableSql() , CN , 0 , 1
CN.Close
Err.Clear
End Sub
'テーブル作成SQL
Function GetCreateTableSql()
GetCreateTableSql = "CREATE TABLE TESTTBL (" & _
" ID INT NOT NULL, " & _
" COL1 DATETIME NOT NULL, " & _
" COL2 VARCHAR(50) NOT NULL DEFAULT '', " & _
" PRIMARY KEY( ID ) ); "
END Function
上記を拡張子 vbs で保存してクリックすれば、起動します。
以下の内容を環境に合わせて修正して下さいね。
user......................接続ユーザ名
password...............接続パスワード
connectionstring.....接続サーバ名
databasename........接続データベース名