2

SMO 転送クラスを使用して、データベース内のすべてのテーブルのデータをスクリプト化しようとしています。INSERT ステートメントのバッチを作成しようとしています。私の最終的なスクリプトには、各 INSERT ステートメントの後にバッチ区切り文字 "GO" が含まれているため、ScriptingOptions プロパティの BatchSize はここでは無視されているようです。以下は私が使用しているコードスニペットです:

so.BatchSize = 500;
so.ScriptBatchTerminator = true;
so.NoCommandTerminator = false;
so.ScriptData = true;
so.SchemaQualify = true;
//and few other options all set to false

...

Transfer tData = new Transfer(sourceDb);
tData.Options = so;

...

tData.CopySchema = true;
tData.CopyData = true;

...

tData.EnumScriptTransfer();

出力スクリプトは次のようになります。

INSERT INTO...
GO
INSERT INTO...
GO
INSERT INTO...
GO
...

しかし、期待される出力は

INSERT INTO...
INSERT INTO...
INSERT INTO...
//497 more INSERTS
GO
...
4

1 に答える 1