#0
by organizm
Задача сделать запрос типа: SELECT * FROM T WHERE code IN (?) в параметре должен быть массив. ВЫчитал, что для этого надо использовать COMSafeArray вот здесь о нем: . Делаю так: Не понятно остается, что вставить в "Тип" ?
#3
by organizm
"мас" создается. Проверено в отладчике. А вот дальше ругается на не соответствие типов в CreateParameter...
#7
by Fragster
которая вместо ? подставляла сначала нужное количество ?, ?, ?... (вернее у меня были именованные параметры и подставлялось имя_индекс), а потом эти параметры подставлялись из массива
#12
by organizm
вроде здесь: написано что надо AdArray = 0x2000 . Но я не пойму как это значение написать в 1С ?
#14
by organizm
Oracle. Почему нет, это же делается через драйвер ADODB объект COMSafeArray все разработчики стараются прописывать. Состав COMSafeArray - строковые значения, примитивы.
#15
by NorthWind
когда у меня возникали подобные задачи, например, с Access, я делал через вспомогательную таблицу, которую заполнял значениями и передавал ее в запрос примерно таким образом: SELECT * FROM T WHERE code IN (select CODE from TEMP_TABLE where HANDLE=:HANDLE) и передавал единственный параметр - управляющее значение, которое определялось при заполнении таблицы значениями. . Да, в Oracle, если правильно помню, начиная с версии 7.2 можно так делать.
#19
by NorthWind
что касается передачи DML array, то я точно помню, что через OCI это работало. в руководстве по DOA (Direct Oracle Access) даже главка была где был пример написан. Но вот как это реализовано в ADO и насколько совместимо с ораклом - вопрос сложный
#20
by NorthWind
в оракле это правда можно. Но насколько я понял, это специфическая "штука" оракла. Для нее даже есть спецтермин - DML array.
#22
by NorthWind
Возможно. Проблема в том, что данный вопрос - он не по 1С, а по клиентской части Oracle и работе OLEDB провайдера для Oracle. Здесь вряд ли тусуются серьезные оракловоды, которые смогли бы помочь. Я бы в первую очередь постарался понять, поддерживает ли ваш OLEDB провайдер для Oracle DML array. Если нет, то остальные телодвижения просто не имеют смысла и нужно действовать как предложено в . Если да, то можно поэкспериментировать/поискать примеры.
#24
by Fragster
там написано, что это A flag value, always combined with another data type constant, that indicates an array of the other data type. Does not apply to ADOX. во первых - надо просуммировать с типом содержимого массива, а во вторых - не применимо к ADO
#25
by NorthWind
ADO и ADOX разные вещи... вообще говоря, ADO в простых запросах обычно умеет автоматически генерировать параметры правильного типа. Но тут многое зависит от провайдера. У меня, к сожалению, нет сейчас оракла под руками, поэтому я не могу посмотреть что за параметр получится для такого запроса.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как из ТаблицыЗначений передать значения в таблицу документа.
- Как передать массив?
- Определенный диапазон колонок у Excel (ADODB)
- v8: Тонкий клиент и ADODB
- ADODB.CONNECTION - open() вылетает с ошибкой если год - 2012..
- Как скопировать массив структур в массив
- Как передать массив (список) в параметр Конвертации?
- Как передать управление с сервера на клиента?Можно ли передать Вопрос на клиента
- Как передать в запрос массив и получить ТЗ с данными из этого массива
- ADODB.Connection, VFP драйвер и sys(3055,2040)
- Фоновое задание. Пытаюсь в Параметре передать массив из двух элементов. Ошибка.
В этой группе 1С
- Отключил обмен БП3.0 и Розница. Где хранятся идентификаторы объектов обмена?
- Установка цен номенклатуры. Нет движений документа
- Как правильно открыть УФ незаписанного документа?
- Программное создание кнопки на УФ
- Обмен УТ 10.3 и БП 3.0 банковских выписок
- Комплексная 1: Зачёт аванса
- v7: Перенос данных из ЗиК 7.7 в ЗУП 3.0
- При синхронизации через файл, в имени файла не Префикс базы
- Восстанавливаются не все настройки построителя отчета
- Время обращения к веб-сервису
- Получаю на сервере таблицу значений. Как сформировать из ТЗ ДеревоЗначений?
- ЗУП 3. Доплата за работу в выходные дни
- Где в ERP хранятся Варианты отчётов?
- Запуск платформы 1С с ключом для использования на китайском языке
- Вывод СКД из внешней обработки
- Розница 2.2. Отчет по подаркам
- Перенос настроек внешнего отчета СКД 8.2
- Глюки Консоль или Конструктор запросов для тонкого клиента
- 1c Розница Декалитры Продажа Алкоголь ЕГАИС
- Неверный формат выгрузки, ошибка формата потока (dt)