Используются: На сервере Oracle 9.2.0.7, Win2003sp1; у меня 1C 8.0.14.39, winXPsp2, и оракл клиент той же версии что и сервер.
Проблема такая, выполняю я
Код:
SELECT Tree, Name
FROM Supermag.saCardClass
ORDER BY Tree
из 1С и получаю только узлы с кодами от 2.1 до 4, причем в базе есть узлы с кодами от 1 до 16.
Из 1с обращаюсь так:
Код:
Функция СоздатьСоединение_ORACLE( Логин, Пароль, База ) Экспорт
Соединение = новый COMОбъект( "ADODB.Connection" );
Попытка
Соединение.ConnectionString = "Provider=MSDAORA;" +
"Database=" + База + ";" +
"User ID="+ Логин + ";" +
"Password=" + Пароль;
Соединение.Open();
Сообщить( "СоединениеУстановленно!!!" );
Исключение
Сообщить( ОписаниеОшибки() );
ВызватьИсключение;
возврат "";
КонецПопытки;
Возврат Соединение;
КонецФункции
функция Запрос(Соединение, текстЗапроса, параметрыЗапроса = Неопределено) Экспорт
command = новый COMОбъект("ADODB.Command");
command.ActiveConnection = Соединение;
command.CommandText = текстЗапроса;
если параметрыЗапроса <> Неопределено тогда
// Если параметры переданы
если ТипЗнч(параметрыЗапроса) <> тип("СписокЗначений") тогда
ВызватьИсключение "Invalid Coder!!!";
иначе
для Каждого _строка из параметрыЗапроса цикл
command.Parameters.Append(command.CreateParameter(
_строка.Имя,
_строка.ТипЗначения,
_строка.ТипПараметра,
_строка.ЗначениеПараметра
));
КонецЦикла;
КонецЕсли;
КонецЕсли; // Параметры
Rs = новый COMОбъект("ADODB.RecordSet");
Rs = command.execute();
Возврат Rs;
КонецФункции
НаборЗаписей = Запрос( Соединение,
"select
| Tree,
| name
|from
| Supermag.saCardClass
|order by Tree"
);
Никак не могу понять отчего в Toad я получаю все строки таблицы, а из ADODB только часть?.. Кто-нить знает что именно в этом коде я делаю не так?