Комп. Windows Server 2008 r2 x64, при попытке создания таблицы " create table [" , выполнении команды
возникает периодически ошибка:
System.Data.OleDb.OleDbException: Блокировка таблицы 'table_name' невозможна; она используется пользователем '(нет данных)' на машине '(нет данных)'.
компилится под x86 ( при компиляции anyCPY - не находит провайдеров)
Причем на 32 битных машинах все нормально.
DSN добавлял в SysWOW64\odbcad32.exe - безрезультатно.
ProcessExplorer - не находит по имени
Причем ошибка не постоянна 7 из 10.
Очень подозреваю что копать в сторону настройки ОС.
.....
if (File.Exists(file_name)) File.Delete(file_name);
provider = "Microsoft.Jet.OLEDB.4.0"; // разные варианты
dBase = "dBase 5.0"; // разные варианты
string conn_string = @"Provider=" + provider + @";Data Source=""{0}"";" +
"Extended Properties=" + dBase + ";Persist Security Info=False";
using (OleDbConnection conn = new OleDbConnection(string.Format(conn_string, dir_name)))
{ string query = " create table [" + f_name + "] (";
query += "id integer, name char(254))";
using (OleDbCommand cmd = new OleDbCommand("", conn))
{
conn.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery(); // здесь ошибка
query = "insert into [" + f_name + "] (id, name) values(?,?)";
cmd.CommandText = query;
for (int i = 0; i < 20; i++)
{ cmd.Parameters.AddWithValue("id", i);
cmd.Parameters.AddWithValue("name", i.ToString());
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
MessageBox.Show("All OK");
}
}
.................