vandalsvq писал(а) 28. Июля 2009 :: 04:08:Так... для SQLite вопрос ясен. До конца недели добью вопрос с SQL и попробую в классе добавить соответствующий функционал.В общем я добавил тестово два метода
-
ПрисоединитьБазуДанных(ИмяБД,ПутьКБД,ПутьКЛогФайлу)ИмяБД - идентификатор для дальнейшего использования
ПутьКБД - путь к файлу db для SQLite, или путь к файлу MDF для SQL
ПутьКЛогФайлу - путь к файлу ldf для SQL. Для SQLite ничего не прописывается
-
ОтключитьБазуДанных(ИмяБД)ИмяБД - идентификатор базы данных
Кому хочется попробуйте.
Пы.сы. я попробовал поработать на DBF с db файлами (SQLite) проблем не возникло. Счас тестировать SQL некогда поэтому погоняю позже.
Добрался таки до тестирования.
1. Запрос для проверки существования таблицы.
SELECT
name, type
FROM sqlite_master
WHERE ((type='table')
And (name='ekn_gaz_main'))
При подготовке выдает сообщения:
Ключевое слово '' не обнаружено в словаре.
Ключевое слово '' не обнаружено в словаре.
Ключевое слово '' не обнаружено в словаре.
Ключевое слово '' не обнаружено в словаре.
2. При подготовке запроса метод ПарсингКлючевыхСловЗапроса вызывается дважды. Так нужно, или опечатка?
3. Можно ли модифицировать в классе создании объекта БазаSQLite таким образом:
Попытка
БазаSQLite = СоздатьОбъект("SQLiteBase");
Исключение
ЗагрузитьВнешнююКомпоненту("1sqlite.dll");
БазаSQLite = СоздатьОбъект("SQLiteBase");
КонецПопытки;
На случай, если ВК еще не загружена...
4. Создание индекса для присоединенной БД не проходит.
CREATE UNIQUE INDEX ekn_gaz_main_idx_0 ON [NBase].ekn_gaz_main (item_code ASC)
Выдается ошибка: near ".": syntax error
Но это, видимо, ограничение ядра SQLite...