SQL Server CE + внешний файл SQL - PullRequest
2 голосов
/ 13 июня 2011

Я создаю базу данных SQL Server CE программно (не используя сущность или LINQ). В настоящее время я встраиваю операторы SQL в исходный код, но я хотел бы избежать этого, если это возможно.

Есть ли способ просто получить внешний файл .sql, который я мог бы прочитать и выполнить с использованием классов SQL Server CE?

Отредактировано для ясности **

Я работаю в предположении, что в каком-то классе SQL Server CE есть метод, который просто позволяет мне выполнять файл .sql. Так что-то вроде: command.executeSqlFile (имя файла).

Причина этого в том, что я создаю тестовое приложение, в котором необходимо будет создавать и заново создавать базу данных sql server ce во время использования приложения. Я действительно не хочу жестко кодировать SQL - мне было бы намного проще иметь внешний файл .sql с:

...
CREATE TABLE TEST(col1 int, col2 int, col3 int);
INSERT INTO test (col1,col2,col3) VALUES (11, 22, 33);
...

Опять же, я мог легко прочитать это с помощью классов ввода-вывода, просто задаваясь вопросом, есть ли более чистый способ (используя только классы System.Data & System.Data.SqlServerCE) для этого.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 ноября 2013

Или вы можете просто создать отдельный файл CE, содержащий таблицу операторов SQL, которую можно легко поддерживать в приложении, или даже отдельный файл.Таким образом, вы открываете базу данных операторов, вызываете нужную «процедуру», извлекаете текст, закрываете ее, открываете реальную БД и используете результат первого запроса для выполнения на реальной БД.Конечно, вы будете ограничены 4000 символов на поле, но это само по себе немного.Если вам нужно больше, объедините несколько вместе.

0 голосов
/ 13 июня 2011

Как отметил Руп в комментарии, вы должны быть в состоянии прочитать данные из текстового файла, который вы создали.Вы можете сделать это несколькими способами, включая отдельные файлы для каждого оператора .sql или один большой файл.

Я бы предупредил, что это также может представлять угрозу безопасности.Кто-то может легко изменить эти файлы и делать вредоносные вещи с вашей БД.Будьте осторожны, чтобы вы не сохраняли учетные данные в виде простого текста в этих файлах.Вы можете рассмотреть возможность шифрования ваших внешних файлов данных.

...