Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема OLEDBCommand или OLEDBData. Есть ли возможность отключить парсер запроса? (число прочтений - 1580 )
kenzzzooo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 26
Местоположение: Минеральные Воды
Зарегистрирован: 06. Января 2012
Пол: Мужской
OLEDBCommand или OLEDBData. Есть ли возможность отключить парсер запроса?
30. Января 2014 :: 08:24
Печать  
Собственно вот:

Код
Выбрать все
Процедура Сформировать()
	База	= СоздатьОбъект("OLEDBData");
	Имя		= "\\Sqlserv\1cbase\Хранилище\Остатки.xls";
	Стр		= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Имя + ";Extended Properties='Excel 8.0'";
	Если База.Соединение(Стр) = 1 Тогда
		Запрос	= База.СоздатьКоманду();
		Текст	= "select * from [Лист1$]";
		Запрос.ВыполнитьИнструкцию(Текст, тз);
		База.Закрыть();
	КонецЕсли;
КонецПроцедуры 



Как итог конструкция [Лист1$] преобразуется в [Лист1_1c_type_], и итоговый запрос, в режиме отладки, выглядит так:

select * from [Лист1_1c_type_]

Как отключить преобразование текста запроса?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: OLEDBCommand или OLEDBData. Есть ли возможность отключить парсер запроса?
Ответ #1 - 30. Января 2014 :: 09:39
Печать  
Не использовать 1cpp для этих целей, писать запрос через ADO
  
Наверх
 
IP записан
 
kenzzzooo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 26
Местоположение: Минеральные Воды
Зарегистрирован: 06. Января 2012
Пол: Мужской
Re: OLEDBCommand или OLEDBData. Есть ли возможность отключить парсер запроса?
Ответ #2 - 30. Января 2014 :: 11:01
Печать  
Решил Улыбка

Код
Выбрать все
Процедура Сформировать()
	База	= СоздатьОбъект("ODBCDataBase");
	Имя		= "\\Sqlserv\1cbase\Хранилище\Остатки.xls";
	Стр		= "
		|DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb);
		|ReadOnly=1;
		|FIL=excel 14.0;
		|DBQ=" + Имя + "
		|";
	Если База.Соединение(Стр) = 1 Тогда
		Запрос	= СоздатьОбъект("ODBCRecordSet");
		Запрос.УстБД(База);
		Текст	= "select * from [Лист1$]";
		Запрос.ВыполнитьИнструкцию(Текст, тз);
		База.Закрыть();
	Иначе
		Сообщить("Нет " + База.ПолучитьОписаниеОшибки());
	КонецЕсли;
КонецПроцедуры 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать