Можно ли изменить формат сценариев DATA при написании сценариев с использованием SMO? - PullRequest
0 голосов
/ 23 декабря 2009

Я хотел бы использовать SMO для генерации набора операторов вставки для копирования данных между средами. У меня это работает, но по какой-то причине поля datetime форматируются как шестнадцатеричные значения, которые приводятся к datetime Это делает скрипты трудными для чтения и невозможными для обновления. Есть ли способ изменить это, чтобы использовать строковое представление даты?

Код, использованный для генерации:

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')

1 Ответ

0 голосов
/ 23 декабря 2009

Одним из способов получения результатов, которые вы ищете, было бы использование BCP для экспорта данных и массовая вставка для импорта данных, в отличие от разрешения SMO-сценариям данных. Прочитайте здесь для более подробной информации.

...