Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Вниз

Oracle через ADO   Найти похожие ветки 

 
oracle.nooby   (2006-11-16 10:41) [0]

Здрасьте всем. Я сконнектился к оракловой базе через ADO. Соединение ок, а вот почему то ADOQuery не работает... На любой мой запрос, заранее корректный отвечает ora-00900, типа неправильный SQL запрос.
Кто нибудь подскажет что это может быть?


 
Sergey13 ©   (2006-11-16 10:47) [1]

> отвечает ora-00900, типа неправильный SQL запрос.
> Кто нибудь подскажет что это может быть?
Это может быть неправильный запрос. А что, есть еще версии?


 
oracle.nooby   (2006-11-16 10:49) [2]

запрос обычный. ну например
select * from table
/
где таблица точно есть.
аналогичный запрос на SQLPlus работает без проблем


 
Sergey13 ©   (2006-11-16 10:52) [3]

> аналогичный запрос на SQLPlus работает без проблем

Под одним логином?


 
oracle.nooby   (2006-11-16 10:54) [4]

> Под одним логином?

Да, конечно. Ведь под другим такой таблицы нет... (ну или не та)


 
Ksan ©   (2006-11-16 10:57) [5]

конект связал?


 
Sergey13 ©   (2006-11-16 10:58) [6]

> [2] oracle.nooby   (16.11.06 10:49)
> запрос обычный. ну например
> select * from table
> /
А что значит этот слеш /, он реально есть в запросе?


 
oracle.nooby   (2006-11-16 10:59) [7]

???
в ADOQuery настроил тока Connection=ADOConnection1 и DataSource=DataSource1...
В качестве запроса передаю ADOQuery.SQL.Text=Memo1.Lines.Text
Потом вызываю ADOQuery.Open и получаю exception об 00900


 
oracle.nooby   (2006-11-16 11:00) [8]


> он реально есть в запросе?

Да я написал то что передаю. Две строчки.. Запрос+/


 
Курдль ©   (2006-11-16 11:00) [9]


> Sergey13 ©   (16.11.06 10:58) [6]
> > [2] oracle.nooby   (16.11.06 10:49)
> > запрос обычный. ну например
> > select * from table
> > /
> А что значит этот слеш /, он реально есть в запросе?


Тогда действительно в SQL+ работать будет, а в АДО - нет.


 
Ksan ©   (2006-11-16 11:05) [10]

+ 9 ?? да ну :) кричит однако на слеш :)))


 
Ksan ©   (2006-11-16 11:05) [11]

или в оракле это коментарить ?


 
Sergey13 ©   (2006-11-16 11:06) [12]

> [8] oracle.nooby   (16.11.06 11:00)

Выкинь его из запроса. Этот слэш команда повторного исполнения (если мне не изменяет память) SQLPlus.


 
oracle.nooby   (2006-11-16 11:08) [13]

слеш это аналог term в IB.


> Тогда действительно в SQL+ работать будет, а в АДО - нет.

Пробовал "по-разному"... И с ним и без него.. Вообще не думая экцепшн шлет


 
k2 ©   (2006-11-16 11:15) [14]

oracle.nooby   (16.11.06 11:08) [13]
сделай запрос
ADOQuery.SQL.Text := "select 1 from dual";


 
oracle.nooby   (2006-11-16 11:18) [15]


> k2

ошибки нет, ничего не выбирает...


 
k2 ©   (2006-11-16 11:20) [16]

ну тогда ADOQuery.SQL.Text := "select 1 as col1 from dual"; :)


 
oracle.nooby   (2006-11-16 11:24) [17]

все зашибись =)) выбрал единицу...
это фокус, да? =))


 
k2 ©   (2006-11-16 11:25) [18]

да это фокус :) знают только гуру :)


 
k2 ©   (2006-11-16 11:26) [19]

в смысле все хорошо с ораклом, думай про запрос


 
oracle.nooby   (2006-11-16 11:29) [20]


> все хорошо с ораклом

уже спокойнее... спасибо


 
k2 ©   (2006-11-16 11:32) [21]

ну вобщемто это было сразу ясно раз он тебе оракловую ошибку выдавал :)


 
oracle.nooby   (2006-11-16 11:34) [22]


> оракловую ошибку

дак я с ораклом первый день работаю на практике.. и мне не нравится что он не конкретизирует что ему не нравится. типа IB или ACCESS говорят что приняли и где ошибка..


 
Sergey13 ©   (2006-11-16 11:37) [23]

> [22] oracle.nooby   (16.11.06 11:34)
> типа IB или ACCESS говорят что приняли и где ошибка..
Где они это тебе говорят?


 
oracle.nooby   (2006-11-16 11:41) [24]


> Где они это тебе говорят?

в сообщении об ошибке: номер ошибки, название ошибки и строка запроса (с номером строки\символа) где возникла ошибка. а драйвер access (из odbc) еще и зам запрос весь пришлет который он получил


 
ANB ©   (2006-11-16 12:32) [25]


> oracle.nooby   (16.11.06 11:34) [22]

Поставь ОДАК - будет тебе расшифровка, где и что не так.


 
Игорь Шевченко ©   (2006-11-16 12:36) [26]


> дак я с ораклом первый день работаю на практике.. и мне
> не нравится что он не конкретизирует что ему не нравится


Он только на третий день начинает конкретизировать


 
sniknik ©   (2006-11-16 12:44) [27]

> Где они это тебе говорят?
по возможности, конечно, иногда тоже трудновато понять

но вот на запрос
SELECT xxx FROM aaa
ошибка
"Ядро базы данных Microsoft Jet не может найти входную таблицу или запрос "aaa".  Проверьте существование таблицы или запроса и правильность имени"

явно понятнее чем невразумительное оракловское ora-xxxxx error.


 
k2 ©   (2006-11-16 12:55) [28]

sniknik ©   (16.11.06 12:44) [27]
ora-00900 invalid SQL statement
ora-00903 invalid table name
ora-00904 invalid column name
помоему вполне внятно :)


 
Sergey13 ©   (2006-11-16 13:00) [29]

> [27] sniknik ©   (16.11.06 12:44)

> явно понятнее чем невразумительное оракловское ora-xxxxx
> error.

Те-же
ORA-00900 invalid SQL statement
ORA-00903 invalid table name

ИМХО ничем не хуже.
Кстати, интересно, а что вернет Аксес на сабжевый запрос из [2] oracle.nooby   (16.11.06 10:49) со слэшем?


 
sniknik ©   (2006-11-16 13:22) [30]

> со слэшем?
Ошибка синтаксиса в предложении FROM


 
Sergey13 ©   (2006-11-16 13:25) [31]

> [30] sniknik ©   (16.11.06 13:22)

Равнозначно, ИМХО. Оракл - рулез форева! 8-)


 
sniknik ©   (2006-11-16 13:32) [32]

> Равнозначно, ИМХО.
ну вот я бы не сказал, конкретики на порядок больше...
а уж когда многострочный, сложный запрос (ну не в access. тут таких не делаю. в mssql) то получить указание с тем что, в какой строке, плюс частично указание как решить... поприятнее будет чем просто "invalid SQL statement"...

> Оракл - рулез форева! 8-)
твои проблемы...


 
ANB ©   (2006-11-16 13:37) [33]


> а уж когда многострочный, сложный запрос (ну не в access.
>  тут таких не делаю. в mssql) то получить указание с тем
> что, в какой строке, плюс частично указание как решить..
> . поприятнее будет чем просто "invalid SQL statement"...
>  

Никаких проблем. Оракл заодно возвращает место ошибки в виде строка/колонка. Одак позволяет эти данные смотреть (насчет DOA - не в курсе). Не будь этого  - как бы мы отлаживались то в девелопере или тоаде ?


 
sniknik ©   (2006-11-16 13:48) [34]

> возвращает место ошибки в виде строка/колонка. Одак позволяет эти данные смотреть
аааа... так это все оказывается есть, он просто скрывает эту инфу от вражеской технологии(ADO), ей подсовывает урезанную версию... а так он белый и пушистый? партизан. ;о))
ну тут уж не знаю... проблема налицо, но вот чья она...

а может это не он, а сам Одак делает анализ запроса???


 
k2 ©   (2006-11-16 14:02) [35]

sniknik ©   (16.11.06 13:48) [34]
может просто адо - Пракситель, на свой лад? :)


 
Игорь Шевченко ©   (2006-11-16 14:10) [36]

И вообще оракл маст дай.


 
sniknik ©   (2006-11-16 14:26) [37]

> может просто адо - Пракситель, на свой лад? :)
это вряд ли, получаемые ошибки один в один соответствуют тем что хелпах оригинальных sql серверов.

т.е. я могу открыть JETERR40.CHM, и найти соответствующее [30]
3131        Ошибка синтаксиса в предложении FROM.

уверен, в хелпе оракла такие описания тоже есть и скорее всего они будут соответствовать ~"ora-00900 invalid SQL statement" (тому что ADO выдает), ну или будут двойные (см. ранние предположение что инфа есть, но в ADO она не передается), если же расширенных дубликатов не найдется... ну значит подробные ошибки целиком заслуга Одака.
все просто.


 
ANB ©   (2006-11-16 14:41) [38]


> ~"ora-00900 invalid SQL statement"

Это означает, что запрос вообще нельзя распарсить, т.к. лишние символы. Если, например, в запросе неправильная таблица, он сообщит код ошибки и координаты этой таблицы в запросе. Это АДО его выгребать не умеет. Выкинь его нафиг и поставь нормальные компоненты доступа.


 
Игорь Шевченко ©   (2006-11-16 14:46) [39]

ANB ©   (16.11.06 14:41) [38]

Нормальные компоненты доступа стоят денег.


 
ANB ©   (2006-11-16 14:54) [40]


> Нормальные компоненты доступа стоят денег.

1. Полный одак с исходниками стоит 9000 рублей, причем на всю контору.
2. Если домой - то нафига за них вообще платить ?
3. Если жалко денег - народ пишет сам доступ через OCI и не мучается. Бесплатных примеров накопать и сделать свое.



Страницы: 1 2 вся ветка

Форум: "Базы";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.042 c
3-1164076336
nickmix
2006-11-21 05:32
2007.02.11
Картинки в ACCESS - беда


15-1169326330
kayman11111
2007-01-20 23:52
2007.02.11
спутник


2-1169740671
dest81
2007-01-25 18:57
2007.02.11
select .... like %


2-1169538907
daser
2007-01-23 10:55
2007.02.11
Как написать консольное приложение с передачей ему параметров?


2-1169704152
Garacio
2007-01-25 08:49
2007.02.11
Контроль ввода данных в Edit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский