Спасите!
Хочу сделать простейший запрос к текстовому файлу.
Делаю так:
ADOСоединение = Новый COMОбъект("ADODB.Connection");
ADOСоединение.Open("Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=" + Каталог + ";");
Команда = "SELECT * FROM " + Файл.Имя + " WHERE F1 LIKE '%" + ИщемСтроку + "%'";
AdoCMD = Новый COMОбъект("ADODB.Command");
AdoCMD.ActiveConnection = ADOСоединение;
AdoCMD.CommandText = Команда;
AdoCMD.CommandType = 1;
Result = AdoCMD.Execute();
Получаю ошибку:
{Форма.Форма.Форма(109)}: Ошибка при вызове метода контекста (Execute)
Result = AdoCMD.Execute();
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Драйвер ODBC Текст] Обновление невозможно. База данных или объект доступны только для чтения.
К файлу доступ есть, спокойно удаляю и заново копирую.
Чего не хватает?
Да чтобы работало нужно создавать schema.ini в каталоге где содержится файл для описания заголовков csv перед чтением файла.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший