Не удается загрузить базу данных с локального сервера в строке подключения C # (приложение Windows)

#c# #database #sqlite

#c# #База данных #sqlite

Вопрос:

Я пытаюсь запустить приложение для доступа к базе данных с локального файлового сервера, но строка подключения не распознает местоположение сервера. Это приложение Windows form, использующее sqlite. Пожалуйста, помогите мне с этим.

Расположение файлового сервера будет таким:

 \fileserverTestdbmaindb.db
  

Используемый код:

 string server_database_path = @"\fileserverTestdbmaindb.db";
string connection_data = "Data Source="   server_database_path ;

using (var conn = new SQLiteConnection(connection_data))
{
    conn.Open();

    SQLiteCommand insert_Rec = new SQLiteCommand(query_text, conn);
    insert_Rec.ExecuteNonQuery();
    conn.Close();
}
  

Ошибка:

Не удается открыть файл базы данных

Комментарии:

1. Вы пытались добавить Version=3; в строку подключения.

2. string connection_data = "Data Source=" server_database_path;

3. @skymon, исправлена опечатка в отправленном коде.

4. @Marvin Klar Я проверю и обновлю с вашим предложением. Спасибо, ребята

Ответ №1:

Возможно, я ошибаюсь, но я не думаю, что прямое указание .db является правильным. При использовании обычного SQL Server я бы указал экземпляр (или просто сервер, на котором он размещен, если это экземпляр по умолчанию).

Итак, ваша строка подключения должна выглядеть примерно так

 string connectionString = "Data Source=192.168.0.1; User ID=administrator; Password=YOURPASSWORD"
  

или, если вы подключаете компьютер, на котором вы находитесь, он должен быть

 string connectionString = "Data Source=127.0.0.1; User ID=administrator; Password=YOURPASSWORD"
  

Вы могли бы заменить 127.0.0.1 на \localhost

Ответ №2:

Я был сбит с толку при выполнении этого, но, изменив косую черту «» на «/», это действительно сработало.

Когда я изменил косую черту в строке пути, она начала работать нормально, и все идет хорошо.

Пример: @»//файловый сервер /Testdb/maindb.db»