複数 SQL のバッチ実行

  接続後のコード



ADO を使用するので、接続については 接続と接続解除 を参照して下さい

  
Set fp = Fso.OpenTextFile( "ビルド.sql", 1 )
strCommand = " "
nCommand = 0
Do While fp.AtEndOfStream <> True
	Buff = fp.ReadLine
	if not Left( Trim( Buff ), 2 ) = "--" then
		aCommand = Split(strCommand,";")
		if Ubound( aCommand ) <> 0 then
			if Trim(aCommand(0)) <> "" then
				on error resume next
				nCommand = nCommand + 1
				if nCommand mod 1000 = 0 then
					Call WshShell.LogEvent( 4, _
					 "ADOによる更新SQLのバッチ実行 : " & _
					nCommand & " 件の処理が終了しました" )
				end if
'				Wscript.Echo nCommand & ":" & aCommand(0)
				Cn.Execute aCommand(0)
				if Err.Number <> 0 then
					Wscript.Echo _
						nCommand & ":ERR:" & Err.Description
				end if
				on error goto 0
			end if
			For i = 1 to Ubound( aCommand )
				if i = 1 then
					strCommand = aCommand(i)
				else
					strCommand = _
						strCommand & ";" & aCommand(i)
				end if
			Next
		end if
		strCommand = strCommand & vbCrLf & Buff
	end if
Loop
fp.Close

aCommand = Split(strCommand,";")
For i = 0 to Ubound( aCommand )
	if Trim(Replace(aCommand(i),vbCrLf,"")) <> "" then
		on error resume next
		nCommand = nCommand + 1
'		Wscript.Echo nCommand & ":" & aCommand(i)
		Cn.Execute aCommand(i)
		if Err.Number <> 0 then
			Wscript.Echo _
				nCommand & ":ERR:" & Err.Description
		end if
		on error goto 0
	end if
Next

Cn.Close
  

以下は、mysqldump.exe で出力した "ビルド.sql" です。( 見やすくする為に、insert 文には改行を入れました )

  
--
-- Table structure for table `社員マスタ`
--

DROP TABLE IF EXISTS `社員マスタ`;
CREATE TABLE `社員マスタ` (
  `社員コード` varchar(4) default NULL,
  `氏名` varchar(50) default NULL,
  `フリガナ` varchar(50) default NULL,
  `所属` varchar(4) default NULL,
  `性別` int(11) default NULL,
  `作成日` datetime default NULL,
  `更新日` datetime default NULL
) TYPE=MyISAM;

--
-- Dumping data for table `社員マスタ`
--

INSERT INTO `社員マスタ` VALUES
 ('0001','浦岡 友也','ウラオカ トモヤ','0003',0,'2005-04-03 00:00:00','2005-06-19 00:00:00');
INSERT INTO `社員マスタ` VALUES
 ('0002','尾浦 和之','オウラ カズユキ','0003',0,'2005-02-26 00:00:00','2005-07-10 00:00:00');
  










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





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

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ