SMO を使用して一連の挿入ステートメントを生成し、環境間でデータをコピーしたいと考えています。私はこれを機能させていますが、何らかの理由で、日時フィールドは日時にキャストされる 16 進値としてフォーマットされます。これにより、スクリプトが読みにくくなり、更新できなくなります。これを変更して日付の文字列表現を使用する方法はありますか?
生成に使用されるコード:
scripter = New Scripter(<server>)
scripter.Options.ScriptData = True
...
For Each s As String In scripter.EnumScript(list)
writer.WriteLine(FormatScript(s))
Next
これを変更したいのですが...
INSERT [dbo].[dmMessages] ([MessageId], [MessageCd], [MessageDesc], [Status], [EnteredBy], [EnteredDt])
VALUES (1, N'GenericMessages.FieldRequired', N'The {0} field is required.', 1, N'System', CAST(0x00009B4900000000 AS DateTime))
に
INSERT [dbo].[dmMessages] ([MessageId], [MessageCd], [MessageDesc], [Status], [EnteredBy], [EnteredDt])
VALUES (1, N'GenericMessages.FieldRequired', N'The {0} field is required.', 1, N'System', '2009-1-1 13:00:00:000')