#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»