Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ещe раз о SQLSTRINGCONNECT() + Oracle / 20 сообщений из 20, страница 1 из 1
23.06.2007, 22:17
    #34615578
AlbertM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Нужно создать соединение из среды Visual FoxPro 9 с базой Oracle 10 без заранее созданного DSN в ODBC Data Source Administrator. Пробую вот так

ConnHandle=SQLSTRINGCONNECT("driver = {Oracle in OraClient10g_home1};server=DEDICATED;uid=test;pwd=123;database=orcl")

и так

ConnHandle=SQLSTRINGCONNECT("driver = {Oracle in OraClient10g_home1};server=192.168.0.2;uid=test;pwd=123;database=orcl")

но пявляется окно диалога Select Data Source.

Что я не так делаю?
...
Рейтинг: 0 / 0
24.06.2007, 10:32
    #34615704
поиск_vfp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
...
Рейтинг: 0 / 0
24.06.2007, 13:47
    #34615782
AlbertM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Хм. Спасибо. Окна диалогов пропали, но соединение с базой не устанавливается (-1). В тоже время если делать соединение через DSN и SQLKONNECT(), то все ОК. В чем может быть проблема?
...
Рейтинг: 0 / 0
24.06.2007, 17:16
    #34615918
Заботин А.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Сделайте Data Source и протестируйте соединение, введя логин/пароль.
Работает?
...
Рейтинг: 0 / 0
24.06.2007, 17:24
    #34615922
Заботин А.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Не дочитал, виноват.
В Вашей connection string нет TNS имени, без которого соединение с Oracle не может быть установлено.
...
Рейтинг: 0 / 0
24.06.2007, 18:23
    #34615960
AlbertM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Не подскажете тогда, где и как прописать TNS в connection string? В help-e не нашел примера или полного описания команды. Думал, что DARTABASE и есть тотже самый TNS.
...
Рейтинг: 0 / 0
24.06.2007, 21:11
    #34616080
= )
= )
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Заботин А. Ну и гон ) Ема - е )))
...
Рейтинг: 0 / 0
25.06.2007, 12:59
    #34617115
Заботин А.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Для соединения с Oracle надо адрес сервера, порт и имя сервиса oracle, что записывается в TNS-имя на клиенте.
То есть либо надо указать TNS имя, логин, пароль.
Либо адрес сервера, порт, имя сервиса oracle, логин, пароль.

Короче, в connection string для oracle параметр DSN обязательный, без него нельзя.
...
Рейтинг: 0 / 0
25.06.2007, 15:04
    #34617623
mvictor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
примерно так
ora_con1=SQLSTRINGCONNECT('Driver={Oracle in Instantclient10_2}; dbq=10.10.19.001:1521/xe;Uid=username;Pwd=userpwd;')
...
Рейтинг: 0 / 0
25.06.2007, 16:13
    #34617977
Заботин А.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Здорово, я облажался.
У меня только получилось вот так:
?SQLSTRINGCONNECT('Driver={Oracle in OraDb102}; dbq=TNS_name;Uid=user;Pwd=password;')

А в документации от оракла стоит, что
DSN This is a mandatory keyword.
...
Рейтинг: 0 / 0
25.06.2007, 18:30
    #34618475
AlbertM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Спасибо! Все получилось! Проглядел параметр dbq. Работает и так, и так! :)
...
Рейтинг: 0 / 0
13.12.2007, 09:41
    #35006366
ТСергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Доброго времени суток всем !

Возникла необходимость подключаться к базе Oracle из VFP9. База крутится на сервере под управлением Mandrake Linux.

Ранее такой необходимости не было, никогда не сталкивался, потому просто не знаю, что сделать. Прочитал данный топик, почти всё понял, кроме одного - какие конкретно параметры и как необходимо прописать в SQLSTRINGCONNECT(...???...). Точнее, что именно надо прописать в параметрах driver = { ??? }, server = ???, dbq = ???, и т.д. ?
Почему в приведённых примерах (видимо) наименование драйаера указано в фигурных скобках ? Имена сервера и т.п. надо указывать в кавычках (потому что они литералы), или прямо так, без кавычек ?

На всякий случай привожу содержимое файла tnsnames.ora, созданного при установке на комп ORACLового клиента (мы работаем и с ORACLE 8.1.7.2, и ORACLE 9.2.0.8, при этом клиент на компах установлен 817, и всё работает нормально):

UBAC.HQ.PIB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ABS.HQ.PIB)(PORT = 1521))
)
(CONNECT_DATA = (SID = ABS) )
)

Здесь: ABS - имя сервера
UBAC - имя базы данных

Какие имена из приведённых необходимо использовать, и в каких местах ?

В ODBS имеется только драйвер Microsoft, его точное название (в кавычках) "Microsoft ODBC для Oracle".

Если кто-то приведёт целиком требуемую строку SQLSTRINGCONNECT, пределы границ моей благодарности превысят всякие разумные нормы (потому как делать надо срочно, ещё вчера, и времени на вдумчивое изучение просто нет)

Спасибо.
...
Рейтинг: 0 / 0
13.12.2007, 09:54
    #35006397
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Например
...
Рейтинг: 0 / 0
13.12.2007, 12:36
    #35007074
ТСергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
2 PaulWist !

Я просмотрел все топики на всех 5 страницах, отобранных после поиска по строке Oracle, и попробовал ВСЕ БЕЗ ИСКЛЮЧЕНИЯ варианты, приводимые в разных топиках. ВО ВСЕХ СЛУЧАЯХ возвращается -1 ! т.е., соединение не установлено ! Также побывал на www.connectionstrings.com, попробовал оттуда разные варианты (кстати, такое ощущение, что все советы в топиках на SQL.RU оттуда ноги имеют...), и также - 1 в результате.

Я потому и задал вопрос с просьбой о конкретной строке, потому что перепробовал более 15 вариантов - и ничего.
...
Рейтинг: 0 / 0
13.12.2007, 12:53
    #35007158
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Что возвращает AERROR после SQLSTRINGCONNECT()

Посмотрите

http://forum.foxclub.ru/read.php?29,279021,279021#msg-279021

http://forum.foxclub.ru/read.php?29,186549,186549#msg-186549
...
Рейтинг: 0 / 0
13.12.2007, 13:15
    #35007287
ТСергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
AERROR говорит
1 11
2 Function argument value, type, or count is invalid.
3 .NULL.
4 .NULL.
5 .NULL.
6 .NULL.
7 .NULL.

Очень, между прочим информативно !

Дело, насколько я понимаю, не в Фоксе, а в правильно, вернее, неправильно указанной строке для соединения с сервером Oracle. То, что она какая-то кривая - это и без того понятно. А вот как её поправить ?
...
Рейтинг: 0 / 0
13.12.2007, 13:19
    #35007306
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Достаточно информативно.
Номер ошибки 11 и сообщение Function argument value, type, or count is invalid прямо говорят про неправильно составленный параметр функции SQLSTRINGCONNECT. То есть еще сама строка непавильно собралась. Вот ее сначала правильно сформируйте и только потом функции ее подсовывайте.
...
Рейтинг: 0 / 0
13.12.2007, 14:16
    #35007548
ТСергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Кхм... да...

Ну что ж, подождём, может, всё-таки кто из грамотных специалистов откликнется...
...
Рейтинг: 0 / 0
13.12.2007, 14:37
    #35007626
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Спасибо на добром слове.
Неграмотным специалистом в фоксе меня еще никто не называл, а тут раз и готово. Вы телепат?

Батенька, судя по ошибке 11 у Вас строка коннекта собирается, в том числе, и из переменных. Так вот ругань идет на какую-то из этих переменных. Ошибка фоксовая. До сервера дело еще не доходит. Еще раз предлагаю сначала просто сформировать строку и посмотреть ее глазками и тольк потом ее скармливать функции.

Кстати, я вот точно не телепат и потому не видя ни одной из Ваших
ВСЕ БЕЗ ИСКЛЮЧЕНИЯ
попыток, не могу сказать что там у Вас неправильно.
Или таки есть уверенность в своей непогрешимости? Тогда о чем тут вообще разговор?
...
Рейтинг: 0 / 0
13.12.2007, 16:58
    #35008288
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ещe раз о SQLSTRINGCONNECT() + Oracle
Что то явное противоречие в суждениях, то с утра

ТСергейпотому как делать надо срочно, ещё вчера, и времени на вдумчивое изучение просто нет

а после обеда

ТСергейКхм... да...
Ну что ж, подождём,...

Видать не слишком надо

PS Вам пытались помочь найти информацию, а не решить за Вас задачу.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ещe раз о SQLSTRINGCONNECT() + Oracle / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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