Назад | Перейти на главную страницу

Что необходимо для удаленного подключения ODBC через PARKWAY ConnectWare для файлов Micro Focus

Недавно я получил задание создать приложение PHP, которое подключается к удаленному драйверу ODBC. Мы получили драйвер ODBC и настроили тестовую среду.

Поскольку я впервые работаю с драйверами ODBC, я понятия не имею, что делать, чтобы иметь возможность подключиться к драйверу. Я знаю код, и мне удалось подключиться к драйверу ODBC, используя PHP и DSN на локальном компьютере. Но поскольку мне приходится подключаться с удаленного компьютера, используя подключение без DSN, я считаю, что это уже не так просто.

Драйвер ODBC является настраиваемым (PARKWAY ConnectWare для файлов Micro Focus), и мы не получили для него документацию (только описание параметра строки подключения, которое было полезно, но недостаточно для решения нашей проблемы). Гугл тоже не помог, ничего не нашли.

Кто-нибудь знает, что еще нужно для удаленного подключения к драйверу ODBC? Логически логично, что одного драйвера не хватило, возможно какой-то сервер ...

Буду благодарен за любой толчок в правильном направлении :)


ОБНОВИТЬ:

Служба поддержки PARKWAY ответила мне строкой подключения и основной информацией. Мой первый инстинкт был правильным - чтобы иметь возможность подключиться к драйверу ODBC на удаленной машине, мне нужно их серверное приложение. Я уже установил их пробную версию сервера и сегодня немного поиграю с ней. Они предложили следующую строку подключения:

Driver=PARKWAY ConnectWare for Micro Focus Files;DBQ=D:\MyServerData;Layout=Version3;FileType=Micro Focus;Location=MyServer

На этот раз мне удалось получить другую ошибку при попытке подключения:

SQL error: Failed to fetch error message

Но я полагаю, что это проблема кода.

Спасибо за все полезные комментарии, наконец-то я разобрался :)

Если кто-то борется с подобной проблемой, вот как я это сделал:

Сначала обратился в службу поддержки. Если вы застряли с необычным программным обеспечением, обращение в службу поддержки обычно является первым шагом, который вам следует сделать. Обычно у них есть правильные ответы.

Драйвер ODBC - это то, что следует из его названия, драйвер и не более того. Для любого удаленного доступа нужен какой-то сервер. Кроме того, если вы хотите получить доступ к удаленному источнику данных, вам понадобится драйвер, установленный на вашем клиентском компьютере (компьютере, на котором будет работать ваше удаленное приложение).

Все идет нормально. В моем случае я получил описание параметра подключения от их службы поддержки, но все еще не мог понять, как выглядит строка подключения. Я перепробовал все, но ничего не вышло (у меня были странные ошибки, которые не очень помогли, например, «не удалось получить сообщение об ошибке»).

Наконец я нашел ответ в этом посте: dsn-to-connectionstring

Похоже, что записи DSN - это не что иное, как пары имя-значение. Подключение к источнику данных с помощью DSN работало, но я не мог использовать DSN в моем конкретном случае. Итак, я получил необходимые параметры, открыв REGEDIT и, как было предложено в сообщении выше, открыв расположение System DSN:

HKLM\Software\Wow6432Node\ODBC\ODBC.INI\

Это место, где хранятся записи 32-битного системного DSN. Если вам нужно найти 64-битную версию, она находится здесь:

HKLM\Software\ODBC\ODBC.INI\

Конечно же, был необходимый мне системный DSN. Если кому-то интересно, почему я до сих пор не знал, как выглядит строка подключения, хотя у меня было описание параметра строки подключения:

Чтобы иметь возможность подключиться к удаленному серверу, мне пришлось добавить параметр «Местоположение» в строку подключения. Я попытался добавить URL-адрес и / или IP-адрес серверной машины, но это не сработало. Посмотрев на реестр, я обнаружил, что мне действительно нужно добавить IP, порт и протокол в файл конфигурации, специфичный для этого драйвера ODBC. Для атрибута «location» внутри строки подключения мне пришлось указать имя добавленной мной конфигурации.