Shatoxin
Зарегистрирован: 22.08.2007 Сообщения: 1
|
Добавлено: Ср Авг 22 2007 15:23 Заголовок сообщения: Гетерогенное подключение к dbf в сети |
|
|
Уважаемые знатоки
Разбил в кровь лоб, но так и не решил вопрос:
Oracle 10.1.0.2.0, win2003 server
настроил гетерогенное подключение к dbf, находящемуся локально на диске сервера - отлично работает.
С трудом, но удалось настроить гетерогенное подключение к interbase'совской БД, находящейся в сети - отлично работает. Сложности возникали из-за
1) драйвера ODBC интербейса,
2) закрытых брандмауером Windows Висты (в сети на машине с БД интербейса) портов,
3) запуска службы listener на сервере из-под пользователя, которому разрешен доступ к расшаренной папке с БД интербейса
Теперь кладу рядом с папкой БД интербейса (сетевой путь тотже) dbf-табличку (с которой всё работало) и пробую выбрать из неё данные
select "rn" from "bank"@PARUS7
в результате только:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Generic Connectivity Using ODBC][Microsoft][ODBC Visual FoxPro Driver]Cannot open file u:\parus25n\parus.dbc. (SQL State: S1000; SQL Code: 171)
ORA-02063: preceding 2 lines from PARUS7
чтобы я не делал: подмапливал диск, извращал путь к таблице в настройке драйвера ODBC...
разбираться во всем этом стал только недавно
подскажите плиз, что еще может быть? |
|
критикан
Зарегистрирован: 18.02.2005 Сообщения: 247
|
Добавлено: Чт Авг 23 2007 08:11 Заголовок сообщения: между прочим, фокспро запросто поспорит с любым ораклом |
|
|
хитрость тут в том, что в dbf-файле есть ссылка на файл parus.dbc (я не знаю с какой версии Foxpro это началось, но во 2-й ещё не было, а в 5-й версии уже было), который является частью фокспрошной базы данных. лечение следующее:
вариант 1: поместить рядом -- точнее с соблюдением путей, записанных в parus.dbc -- файлы, записанные в parus.dbc, и сам parus.dbc. не обязательно потребуются все файлы, но те, которые нужны для открытия dbf-файла согласно правилам, записанным в parus.dbc, поэтому, если нет возможности разбираться, то записать все эти файлы
вариант 2: открыть в фокспрошной среде dbf-файл нормальным образом, то есть в присутствии parus.dbc и других необходимых файлов, и преобразовать его в обычную таблицу (такие там называются "free table"). после этого dbf-файл будет благополучно открываться из оракла
вариант 3: редактором, позволяющим править двоичный/шестнадцатиричный код, забить нулями в заголовке dbf-файла ссылку на parus.dbc. после этого dbf-файл будет благополучно открываться из оракла
-----------------------------------------------------------
между прочим, фокспро запросто поспорит с любым ораклом |
|