Я пытаюсь экспортировать и импортировать схему базы данных и данные внутри. Для этого я использую SMO (объекты управления сервером), но хотя экспорт схемы работает нормально, установка ScriptData
в true
в параметрах сценариев приведет к исключению.
Server server = new Server(new ServerConnection(sqlCon));
Database database = server.Databases["SpectroGrass"];
ScriptingOptions options = new ScriptingOptions();
options.ScriptSchema = true;
options.ScriptData = false;
options.ScriptDrops = false;
string scriptData = String.Join("\r\n", database.Tables[tableName].EnumScript(options).ToList());
Создает схему и работает.
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [SpectroGrassAdmin].[Treatment]
(
[TRM_ID] [int] NOT NULL,
[TRM_Name] [varchar](150) COLLATE Latin1_General_CI_AS NULL,
[TRM_Crop] [varchar](50) COLLATE Latin1_General_CI_AS NOT NULL
) ON [PRIMARY]
Но использование опции ScriptData
...
options.ScriptSchema = false;
options.ScriptData = true;
options.ScriptDrops = false;
string scriptData = String.Join("\r\n", database.Tables[tableName].EnumScript(options).ToList());
создаст исключение.
Ошибка входа для пользователя «SpectroGrassAdmin».
Я не уверен, почему я получаю эту указанную c ошибку. Я могу только предположить, что проблема кроется где-то еще, потому что вход на сервер и подключение к базе данных работает нормально, если я только хочу, чтобы схема экспортировалась.
Мне не хватает некоторых других параметров, чтобы иметь возможность создать сценарий для табличных данных?