В BDE администраторе настроил, всё работает, но вот когда пытаюсь в C++Builder'e 6 сконнектиться с базой, оно мне выдаёт ошибку: ora-03114 нет связи с сервером, и ошибка BDE 13059: general sql error... Из SQL Explorer'a коннект нормальный, всё работает. В чём проблема???
» BDE
XDiaBLo
Что пишешь в св-вах компонента TDataBase?
Добавлено
Кстати, не работай ты через BDE - это отстой.
Делаешь следующее:
1. Обзываешь БД, ну например TestDB в поле DataBase Name компонента TDataBase
2. Выбираешь в DriverName (все того же компонента) "ORACLE"
3. Кликаешь дважды на компоненте и в текстовом поле "Parameter Overrides" постишь следующее:
NET PROTOCOL=TNS
OPEN MODE=READ/WRITE
SCHEMA CACHE SIZE=8
LANGDRIVER=ancyrr
SQLQRYMODE=
SQLPASSTHRU MODE=SHARED AUTOCOMMIT
SCHEMA CACHE TIME=-1
MAX ROWS=-1
BATCH COUNT=200
ENABLE SCHEMA CACHE=FALSE
SCHEMA CACHE DIR=
ENABLE BCD=FALSE
ENABLE INTEGERS=FALSE
LIST SYNONYMS=NONE
ROWSET SIZE=20
BLOBS TO CACHE=64
BLOB SIZE=32
OBJECT MODE=FALSE
SERVER NAME=***************** (Имя твоей базы в оракле)
USER NAME=*******************
PASSWORD=*******************
Пробуй.
И забудь про Oracle через BDE (коряво!!!)
Что пишешь в св-вах компонента TDataBase?
Добавлено
Кстати, не работай ты через BDE - это отстой.
Делаешь следующее:
1. Обзываешь БД, ну например TestDB в поле DataBase Name компонента TDataBase
2. Выбираешь в DriverName (все того же компонента) "ORACLE"
3. Кликаешь дважды на компоненте и в текстовом поле "Parameter Overrides" постишь следующее:
NET PROTOCOL=TNS
OPEN MODE=READ/WRITE
SCHEMA CACHE SIZE=8
LANGDRIVER=ancyrr
SQLQRYMODE=
SQLPASSTHRU MODE=SHARED AUTOCOMMIT
SCHEMA CACHE TIME=-1
MAX ROWS=-1
BATCH COUNT=200
ENABLE SCHEMA CACHE=FALSE
SCHEMA CACHE DIR=
ENABLE BCD=FALSE
ENABLE INTEGERS=FALSE
LIST SYNONYMS=NONE
ROWSET SIZE=20
BLOBS TO CACHE=64
BLOB SIZE=32
OBJECT MODE=FALSE
SERVER NAME=***************** (Имя твоей базы в оракле)
USER NAME=*******************
PASSWORD=*******************
Пробуй.
И забудь про Oracle через BDE (коряво!!!)
Dim_San
Ага
XDiaBLo
Надо использовать Oracle Data Access Components или Direct Oracle Access, в крайнем случае ADO компоненты (почти так же коряво, как и BDE). В Варезнике это проходило. Лично я использую Oracle Data Access Components, впечатления очень хорошие.
Ага
XDiaBLo
Надо использовать Oracle Data Access Components или Direct Oracle Access, в крайнем случае ADO компоненты (почти так же коряво, как и BDE). В Варезнике это проходило. Лично я использую Oracle Data Access Components, впечатления очень хорошие.
MrZeRo
Ставил я себе эти компоненты, но в чем серьезность выгоды (для себя) - не понял.
Есть прямой коннект к БД (без всяких посредников), чего же еще?
К тому же дополнительные компоненты - это доп. килобайты экзешника....
Поэтому я тут отношусь с осторожностью - юзаю тока RX и InfoPower
Ставил я себе эти компоненты, но в чем серьезность выгоды (для себя) - не понял.
Есть прямой коннект к БД (без всяких посредников), чего же еще?
К тому же дополнительные компоненты - это доп. килобайты экзешника....
Поэтому я тут отношусь с осторожностью - юзаю тока RX и InfoPower
Всем спасибо, особенно Dim_San, буду пользоваться именно этим способом. Но проблема решилась проще, я ударил себя по башке, и отключил в Outpost Firewall'е блокировку сети у Билдера... )) Вот блин, дурная башка, тоже мне блин настроил фаервол... И когда я успел там Билдер заблочить?
Dim_San
А выгода с том, что они поддерживают специфичные типы Oracle, такие как Blob, курсоры и т.д., при работе с процедурами, позволяют выполнять куски кода на PL/SQL и многое другое.
Кстати, если ты работаешь с компонентом TDataBase, это автоматически означает, что работаешь через BDE.
Доказательство: TDatabase содержится в модуле DBTables, а заглянув в DBTables, видим:
Цитата:
Так что имеешь тот же BDE, который только что обругал (впрочем, справедливо обругал).
Совсем без компонентов тяжело , поэтому если не BDE, то почему бы не Oracle Data Access Components?
А выгода с том, что они поддерживают специфичные типы Oracle, такие как Blob, курсоры и т.д., при работе с процедурами, позволяют выполнять куски кода на PL/SQL и многое другое.
Кстати, если ты работаешь с компонентом TDataBase, это автоматически означает, что работаешь через BDE.
Доказательство: TDatabase содержится в модуле DBTables, а заглянув в DBTables, видим:
Цитата:
unit DBTables;
{$R-,T-,H+,X+}
interface
uses Variants, Windows, SysUtils, Classes, DB, DBCommon, BDE, SMINTF;
Так что имеешь тот же BDE, который только что обругал (впрочем, справедливо обругал).
Совсем без компонентов тяжело , поэтому если не BDE, то почему бы не Oracle Data Access Components?
MrZeRo
А где эти твои компоненты взять, чтоб заценить? Хотца все варианты рассмотреть...
А где эти твои компоненты взять, чтоб заценить? Хотца все варианты рассмотреть...
MrZeRo
Цитата:
Ну это не доказательство того что в приведенном мною примере для XDiaBLo соединение идет через BDE (так же как и через псевдоним БД в BDE).
Обрати внимание - в моем случае коннект происходит напрямую через драйвер ORACLE, а не через Псевдоним (Alias).
А вот если ты создаешь псевдоним - вот тогда действительно у тебя будут проблемы с полями типа BLOB.
Так что если бы не было разницы - наверное и работать должно было бы все одинаково... Логично?
Цитата:
Дело в том, что создавать курсоры и выполнять куски кода из приложения я считаю (и не только я) в корне неправильным и ни в коем случае этим не пользуюсь. Вообще это считается "дурным тоном программирования".
Но я тебя ни в коем случае не критикую - сам раньше так же делал
Вот когда столкнешься с тем как обеспечить реальную секьюрность твоей БД - тогда поймешь о чем я
Добавлено
Цитата:
если ты заметил, то XDiaBLo именно все делал через Alias:
Цитата:
Цитата:
Доказательство: TDatabase содержится в модуле DBTables....
Ну это не доказательство того что в приведенном мною примере для XDiaBLo соединение идет через BDE (так же как и через псевдоним БД в BDE).
Обрати внимание - в моем случае коннект происходит напрямую через драйвер ORACLE, а не через Псевдоним (Alias).
А вот если ты создаешь псевдоним - вот тогда действительно у тебя будут проблемы с полями типа BLOB.
Так что если бы не было разницы - наверное и работать должно было бы все одинаково... Логично?
Цитата:
курсоры и т.д., при работе с процедурами, позволяют выполнять куски кода на PL/SQL и многое другое
Дело в том, что создавать курсоры и выполнять куски кода из приложения я считаю (и не только я) в корне неправильным и ни в коем случае этим не пользуюсь. Вообще это считается "дурным тоном программирования".
Но я тебя ни в коем случае не критикую - сам раньше так же делал
Вот когда столкнешься с тем как обеспечить реальную секьюрность твоей БД - тогда поймешь о чем я
Добавлено
Цитата:
...тот же BDE, который только что обругал...
если ты заметил, то XDiaBLo именно все делал через Alias:
Цитата:
В BDE администраторе настроил, всё работает...
Страницы: 1
Предыдущая тема: Конвертер исходных текстов C++ в Pascal
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.