|
|
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
Уважаемые господа, здравствуйте. Я понимаю, конечно, вопрос по подключение из PowerBuilder к Oracle набил оскомину, тем не менее, я сам что-то не могу справиться с вопросом, и на форуме поискал, именно этой темы не нашел. Итак, я хочу реализовать подключение к базе через ODBC. Как ранее обсуждалось на Форуме, я захожу в Database Profile и создаю новый профиль, указываю DSN, имя и пароль. В синтаксисе выводится такой скрипт. // Profile Ora SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = False SQLCA.DBParm = "ConnectString='DSN=Ora tables;UID=user;PWD=password'" Но здесь вот какая сложность. Дело в том, что в источниках данных ODBC, в этом самом DNS = Ora tables, значение параметра TNS Service Name равно work . Но в TNS Names, в общем-то, такой настройки нет, там есть tns с именем Work.place, и при этом есть еще и test.place. Соответственно, если я на своем профиле сделаю Test Connection, то возникает дополнительное окошко ODBC драйвера, с тремя полями - service, user, password, в котром надо дописать work.place, иначе Connection Successfully не будет. Если данный скрипт скопировать в программу и попытаться сделать connection, то и здесь выйдет то же самое. Так вопрос - как в этом скрипте явно указать – какой tns names надо использовать? Конечно, решить проблему можно изменив tns в DNS в ODBС-администраторе, но этого я не могу сделать, этот DNS используют и другие (не мои) программы. Можно также, программным способом вначале создать свой «нужный» DNS и потом коннектиться. Но может есть возможность обойтись как-нибудь без этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2007, 18:20 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
RenesansИтак, я хочу реализовать подключение к базе через ODBC. Может проблема в том, что вместо использования родных драйверов PB к Oracle, Вы пытаетесь через ODBC работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2007, 19:16 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
RenesansМожно также, программным способом вначале создать свой «нужный» DNS и потом коннектиться. Но может есть возможность обойтись как-нибудь без этого?Можно, можно. Можно жить вообще не создавая DNS. Выкачивай с сайтам микросфота MDAC и читай в нем документацию на ODBC. Если кратко, сохраненный в системе DSN это всего-лишь сохраненый набор параметров. Ты всегда можешь переопределить любой из этих параметров. SQLCA.DBParm = "ConnectString='DSN=Ora tables;UID=user;PWD=password;Service Name=Work.place'" При этом неважно что хранится в DSN, параметры переданые в строке коннекта всегда имеют преимущество перед параметрами сохранеными в DSN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2007, 20:12 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, спсаибо за совет, но я как раз хотел уйти от использования нативного интерфейса. White Owl, на счет MDAC - спасибо за совет, попробую почитать. На счет совета ConnectString='DSN=Ora tables;UID=user;PWD=password;Service Name=Work.place' - не катит. Я и до обращения в форум пробовал эту конструкцию, и по Вашему совету еще раз попробовал - все равно окошко odbc драйвера вылезает, чего-то не хватает. Видимо без чтения документации не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 07:41 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
Дело в том что надо подавить выскакивание именно окошка, коннект происходит и без него Жаль ссылочку не могу дать, правда не один раз убеждался, что нативные драйвера РВ намного лучше -------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 09:24 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
RenesansИтак, я хочу реализовать подключение к базе через ODBC. А можно узнать... почему через ODBC? почему бы на самом деле не использовать родные драйвера РВ к Ораклу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 10:03 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
- У меня есть непропатченная семерка, там есть проблема с нативным интерфейсом, она проявляется на Windows 2000 - при повторном Connect на transaction объекте приложение валится. Первое, куда я решил пойти - перейти на ODBC. Сейчас уже смотрю в сторону того, чтобы пропатчить семерку. - Также у меня есть десятка, но в ней я не нашел нативного интерфейса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 10:14 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
Если ты с Ренессанс... могу дать Оракл 8-ку или 9-ку... телефон 3147 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 10:54 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
VanoRЕсли ты с Ренессанс... могу дать Оракл 8-ку или 9-ку... телефон 3147 Насколько я понял речь шла о версиях PowerBuilder. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 11:02 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
Насчет Oracle +ODBC. Насколько я помню, существовали драйвера ODBC от самого Оракла и от Микрософт. Оба - тормоза и сплошные глюки. Вы с какими пробуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 11:06 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyНасколько я понял речь шла о версиях PowerBuilder. Да!? А я чета подумал про другое :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 11:07 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
Renesans- У меня есть непропатченная семерка, там есть проблема с нативным интерфейсом, она проявляется на Windows 2000 - при повторном Connect на transaction объекте приложение валится.Какой билд используете? На 10077, 10213 и 10312 подобных глюков не замечено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 12:25 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
Подключайся через драйвер Oracle 7.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 12:52 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
VanoR, я к Ренесанссу отношения не имею. Действительно речь идет не о верси Oracle а о версии Билдера. Anatoly Moskovsky, мы используем Oracle ODBC драйвер 9.02.00.62. Я сам пока не использую, только пытаюсь подключиться, но коллеги используют, и не очень жалуются. PL99, у меня гораздо более ранняя версия :). Мне стыдно. Вот и думаю сейчас пропатчиться. Просто без нужды не хотелось, ведь работало все. Собственно, я разработкой уже не занимаюсь, просто поддерживаю, так сказать, свой продукт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 13:24 |
|
||
|
Подключение к Oracle через ODBC с указанием конкретной TNS Names
|
|||
|---|---|---|---|
|
#18+
RenesansЯ и до обращения в форум пробовал эту конструкцию, и по Вашему совету еще раз попробовал - все равно окошко odbc драйвера вылезает, чего-то не хватает. Видимо без чтения документации не получится.Если после вылезания окошка сразу ткнуть "Ok" коннект произойдет? Если да, то поможет такая строка: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. В общем, выкачивай MDAC там много полезного есть. В том числе и описание этого самого окошка. Его появление определяется флагами: SQLDriverConnect FunctionSQL_DRIVER_PROMPT: The driver displays a dialog box, using the values from the connection string and system information (if any) as initial values. When the user exits the dialog box, the driver connects to the data source. It also constructs a connection string from the value of the DSN or DRIVER keyword in *InConnectionString and the information returned from the dialog box. It places this connection string in the *OutConnectionString buffer. SQL_DRIVER_COMPLETE or SQL_DRIVER_COMPLETE_REQUIRED: If the connection string contains enough information, and that information is correct, the driver connects to the data source and copies *InConnectionString to *OutConnectionString. If any information is missing or incorrect, the driver takes the same actions as it does when DriverCompletion is SQL_DRIVER_PROMPT, except that if DriverCompletion is SQL_DRIVER_COMPLETE_REQUIRED, the driver disables the controls for any information not required to connect to the data source. SQL_DRIVER_NOPROMPT: If the connection string contains enough information, the driver connects to the data source and copies *InConnectionString to *OutConnectionString. Otherwise, the driver returns SQL_ERROR for SQLDriverConnect. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 17:52 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=34545211&tid=1337157]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 368ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...