none
(LINQ to SQL) DataContext - Создание БД RRS feed

  • Общие обсуждения

  • Не могу понять почему newDB_SQL.DatabaseExists() не видит БД, а newDB_SQL.CreateDatabase() говорит, что база есть:

    System.Data.SqlClient.SqlException: "Database 'g:\visual studio 2017\Projects\...\Name.mdf' already exists. Choose a different database name."

          Create_SQL newDB_SQL = new Create_SQL(SQLConnectionString.BuildConnectionString(@"(LocalDB)\MSSQLLocalDB", Name_md, PathDB_textBox));
          if (newDB_SQL.DatabaseExists()) {
            newDB_SQL.DeleteDatabase();
          }
          newDB_SQL.CreateDatabase();
          newDB_SQL.Dispose();

    19 августа 2018 г. 16:57

Все ответы

  • Скорее всего потому что база не зарегистрирована на сервере. Проверяйте наличие файла, а не базы и удаляйте файл, а не базу.

    This posting is provided "AS IS" with no warranties, and confers no rights.

    19 августа 2018 г. 17:17
    Модератор
  • файла нет.

    час назад все работало. Единственное, что сделал - это создал аналогичную mdb-базу. Хотя и с ней работало.

    По поводу регистрации - не понял. Поясните, пожалуйста. Я думал, что Local - просто база и все

    PS: изменил имя БД - опять заработало..., что-то я не то делаю :-(
    • Изменено dav_tag 19 августа 2018 г. 17:45
    19 августа 2018 г. 17:27
  • Покажите вывод (в виде текста) такой команды из консоли:

    dir g:\visual studio 2017\Projects\...\Name.mdf

    LocalDB это фича SQL Server Express который является урезанным вариантом SQL Server. Он работает с своем процессе и использует тот же адаптер что и SQL Server. Вы наверное путайте с in-process базами которые по сути представляют собой DLL которая загружается в самом процессе (как например SQL Server CE или SQLite)? 

    Ну собственно данные конечно же хранятся в файле (или файлах) которые лежат где то на диске, это справедливо в любом случае.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    19 августа 2018 г. 18:15
    Модератор
  •       Create_SQL newDB_SQL = new Create_SQL(SQLConnectionString.BuildConnectionString(@"(LocalDB)\MSSQLLocalDB", "KleinBuch1.mdf", TextAccessPathDB_textBox.Text));
    

          Create_SQL newDB_SQL = new Create_SQL(SQLConnectionString.BuildConnectionString(@"(LocalDB)\MSSQLLocalDB", "KleinBuch.mdf", TextAccessPathDB_textBox.Text));

    19 августа 2018 г. 18:36

  • LocalDB это фича SQL Server Express который является урезанным вариантом SQL Server. Он работает с своем процессе и использует тот же адаптер что и SQL Server. 

    Я не разворачивал SQL Server специально.

    1. Хочу проверить как работать с базой без него.

    2. Мне база на SQL Server нужна (в данный момент), что бы получить dbml- файл. Хочу LINQ to SQL на ACCESS'овску базу натянуть. Не знаю есть ли в этом смысл, но база простоя и не ресурсоемкая. Даже 90% однопользовательская, т.е. сильно не наврежу

    19 августа 2018 г. 18:43