Проверьте существование базы данных sqlce согласно web.config - PullRequest
2 голосов
/ 13 февраля 2011

Обратитесь к вопросу Как проверить существование БД? Я пытался обнаружить существование БД согласно строке подключения web.config, но не повезло.

Я использовал последний ответ из приведенных выше в качестве пробной версии.

Пробная версия 1: строка подключения в web.config

    <add name="sqlCEConnString" connectionString="Data Source=|DataDirectory|db.sdf;Initial Catalog=master" providerName="System.Data.SqlServerCE.4.0"/>

Я получил ошибку: Ключевое слово не поддерживается: 'исходный каталог'.

Пробная версия 2: без ключевого слова

string conString = ConfigurationManager.ConnectionStrings ["sqlCEConnString"]. ConnectionString;

    using(SqlCeConnection cnn = new SqlCeConnection(conString))
    { 
        cnn.Open();
        using (SqlCeCommand com = new SqlCeCommand("select count(*) from sys.databases where name = 'db.sdf'" , cnn))
        {
            int j=com.ExecuteNonQuery();
            Response.Write("Result:" + j);
        }
    }

На этот раз я получил следующую ошибку: Указанная таблица не существует. [@@ sys.databases]

Что я делаю не так?

Ответы [ 3 ]

5 голосов
/ 15 февраля 2011

Наконец я нашел способ определить, существует ли БД в соответствии со строкой соединения. Под классом «SqlCeEngine» есть метод с именем «Verify», с помощью которого можно обнаружить.

        string conString = ConfigurationManager.ConnectionStrings["sqlCEConnectionString"].ConnectionString;
    using (SqlCeEngine objCeEngine = new SqlCeEngine(conString))
    {
        if (!objCeEngine.Verify())
        {
            objCeEngine.CreateDatabase();
        }
    }
0 голосов
/ 15 февраля 2011

Посмотрите здесь исходный код, он определяет, присутствует ли файл базы данных SQL CE в приложении ASP.NET, и создает его с таблицами, если это необходимо: http://sqlcemembership.codeplex.com

0 голосов
/ 14 февраля 2011

Думаю, вам нужно указать соединения, где находится база данных sqlce.

попробуйте эту ссылку.

Connectionstring.com / Sql Compact

Привет!

...