Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 9 + ADO = ? / 5 сообщений из 5, страница 1 из 1
29.04.2003, 21:12
    #32151380
just_dmitry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 9 + ADO = ?
Сначала был Oracle 8 и MDAC 2.6. Сайт работал под Win2000 SP3 и WinXP SP1 через провайдера от Мелкософта (MSDAORA) и все было круто.
Потом прочитал в мануале про переход LONG -> LOB, конвертнул пару таблиц. Т.к. MS'ный OLEDB провайдер такие колонки не поддерживает, переключился на родного OraOLEDB.Oracle provider. Стали вылетать процессы DLLHOST с жуткими сообщениями в EventLog что все хреново и пошел бы я...
Поставил клиента от Oracle 9 (у нас админы и так грозятся что скоро серваки переставят на девятку).

Стало еще хуже. Провайдер от мелкософта не коннектится вообще и регуется что он не смог от Оракла даже описание ошибки получить.
Провайдер от оракла коннектится и прилично даже работает, если бы не одно НО: он плохо понимает конструкции типа:
select 'a' || (case when '1'='1' then 'b' else 'c' end) as X from dual
вываливается ошибка ORA-00907: missing right parenthesis
Если посмотреть на передаваемые по сетке пакеты, то там видится такой запрос:
select 'a'||(casewhen'1'='1'then'b'else'c'end) as X from dual
т.е. кто-то с большого перепоя замочил пробелы. С учетом того что SQLPlus и PL/SQl работают на ура подозреваю, что крыша съехала у MDAC/ADO. Проверялось на Вин2000 SP3 и MDAC2.6 и под WinXP SP1 MDAC 2.7, результат один и тот же.

Можно конечно убрать уже существующие скобки, тогда становится легче и указанный запрос выполняется в виде:
select 'a'||case when'1'='1' then'b' else'c' end as X from dual
но это не выход потому что кто-то пробелы все-же откусывает, причем непредсказуемо.
Приведенный SQL лишь демонстрирует ошибку, в реальности запросы намного сложнее, и оптимизировать их таким раком или переводит под VIEW ну ОЧЕНЬ неохота.

Пока я жду MDAC 2.8 который вместе с Win2003, но может у кого есть какие идеи?
...
Рейтинг: 0 / 0
30.04.2003, 09:37
    #32151477
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 9 + ADO = ?
A perevesti stmt v callable?
...
Рейтинг: 0 / 0
30.04.2003, 09:39
    #32151482
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 9 + ADO = ?
Da, a Regional Setting na comp s ADO in English or Russia?
...
Рейтинг: 0 / 0
30.04.2003, 11:20
    #32151628
just_dmitry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 9 + ADO = ?
Regional Settings were Russian, changed to English on WinXp - no differences, the same error.
I don't think that spaces are "optimized" because reg.set. ;)
...
Рейтинг: 0 / 0
30.04.2003, 11:27
    #32151641
just_dmitry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 9 + ADO = ?
Упрощу вопрос: кто-нить работает вообще с Oracle 9 через OLEDB/ADO/MDAC? Откликнитесь, можно аськой чтобы не мусорить тут.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 9 + ADO = ? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]