Некоторые пользователи приложения получают исключения при заполнении набора данных из файла DBF с помощью драйвера VisualFoxPro 9.0. Я не могу понять, что происходит, потому что ошибка всегда возникает для некоторых пользователей, никогда не бывает для других пользователей, а иногда (в зависимости от местоположения файла .DBF) происходит для других пользователей. Я гарантировал, что у всех пользователей установлен драйвер visual fox pro 9.0. Вот фрагмент кода, вызывающего проблему (leieLoc является расположение файла DBF):OleDb Exception: команда содержит непризнанную фразу/ключевое слово
string constr = "Provider=VFPOLEDB.1;Data Source=" + this.leieLoc + ";";
OleDbConnection con = new OleDbConnection(constr);
string sql = "select * from " + this.leieLoc + ";";
OleDbCommand cmd = new OleDbCommand(sql, con);
con.Open();
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds);
da.Dispose();
ds.Dispose();
cmd.Dispose();
con.Dispose();
con.Close();
Я желаю, чтобы я мог изменить формат базы данных, однако я не могу, как она выйдет на треть вечеринка.
Ошибка трассировки стека выглядит следующим образом:
System.Data.OleDb.OleDbException (0x80040E14): Command contains unrecognized phrase/keyword.
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at ExclusionSearcher.Searching.ThreadProcesser.searchLeie(List`1 names)
Любая помощь будет принята с благодарностью; Я понятия не имею, что может быть причиной этой проблемы.
Источник данных и имя таблицы не могут быть одинаковыми. –
Проверьте мой ответ и скажите мне, помогли ли вы! – mybirthname