У меня вопрос, у меня есть небольшая программа, которая извлекает файл CSV и преобразует его в базу данных Sqlite.На Windows нет проблем, это работает очень хорошо.В Linux, однако, я получаю сообщение об ошибке:
string connectionString = "Data Source=" + PathFile + targetFile;
using (SqliteConnection m_dbConnection = new SqliteConnection(connectionString))
{
m_dbConnection.Open();
// Requêtes de création des tables
string sql = String.Empty;
sql = String.Concat(sql, "CREATE TABLE TARGETS (idTarget NUMERIC, customerId NUMERIC, numberCard TEXT, mail TEXT, mobile TEXT, bat NUMERIC);");
sql = String.Concat(sql, "CREATE TABLE COLUMNS (idColumn NUMERIC, name TEXT, isVariable NUMERIC);");
sql = String.Concat(sql, "CREATE TABLE ROW (idTarget NUMERIC, idColumn TEXT, value TEXT);");
// Execution des requêtes de création
using (SqliteCommand command = new SqliteCommand(sql, m_dbConnection))
{
countRow += command.ExecuteNonQuery(); // <===== /!\ Exception here
}
}
Unhandled Exception: Microsoft.Data.Sqlite.SqliteException: SQLite Error 5: 'database is locked'.
at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Mailing.Service.ServiceFile.ConvertCSVToSQLite(String sourceFile, String targetFile)
at Mailing.Service.ServiceFile.UploadFile(Byte[] byteFile, String filename, TypeCanal canal, Int32 idMailing, Boolean async)
at MailingAutomator.Program.Main(String[] args) in Program.cs:line 64
Есть ли что-то другое между Linux и Windows для Microsoft.Data.Sqlite?А связь с тем, что в Linux я читаю и пишу на смонтированном NAS?Проблема доступа?База данных sqlite создана, но пуста.
.NET Core 2.2 Microsoft.Data.Sqlite Ubuntu 16.04
Редактировать: Некоторые новости: Когда я использую общий ресурс Samba на другом сервере Ubuntu, это работает, нона другом ресурсе Windows я снова получаю эту ошибку ... файл журнала появляется и исчезает несколько раз.Я не понимаю, файл sqlite создан, но пустой