Я перехожу от поставщика 'Microsoft.Jet.OLEDB.4.0' к 'Microsoft.ACE.OLEDB.12.0', поскольку я запускаю свою программу на 64-битной системы, и я понимаю, что ACE заменил Jet на 64-битное использование.Microsoft ACE OLEDB 12.0 - синтаксис F1 для без заголовка .CSV вызывает исключение
Я не изменил синтаксис запроса я прохожу к моему OleDbCommand
, но теперь он вызывает исключение:
«Нет значения приведены для одного или нескольких требуемых параметров.»
код выглядит следующим образом:
static void Main(string[] args)
{
const string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\PimsImport\\PreciousStore\\imports;Extended Properties='Text;HDR=NO;IMEX=1'";
const string selectStatement = "SELECT F1 AS NameColumn FROM C:\\PimsImport\\PreciousStore\\imports\\PIMSPreciousbradypxx.csv";
using (var connection = new OleDbConnection(connectionString))
{
using (var cmd = new OleDbCommand(selectStatement, connection))
{
cmd.Connection.Open();
OleDbDataReader workbookReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
workbookReader.Close();
}
}
}
Если удалить F1
и заменить *
; он отлично работает. Но у моего csv нет заголовка, поэтому я хочу использовать синтаксис F1
, чтобы взять первый столбец.
Любая идея, почему это больше не работает?
Да, это исправлено. Проблема возникает из-за использования полного пути к файлу в предложении from - это подчеркивается, очевидно, в исключении «From Clause», когда вы окружаете предложение from в квадратных скобках. Необходимо указать имя файла. –