Как подключиться к базе данных SQL Anywhere из Linux?

Я хочу получить доступ к базе данных SQL Anywhere, которая находится на другом сервере.
Я могу сделать это легко из Windows, но сейчас мне нужно сделать это из Debian.
Все это в php.

Сторона окна:
Я установил SQL в любом месте драйвер от https://archive.sap.com/documents/docs/DOC-35857, и подключиться с помощью odbc: Driver = {SQL Anywhere 16}; Сервер = serveur-02; Порт = 2638; База данных = excalib; Uid = Имя пользователя; Pwd = pwd;
Хорошо, это работает.

Сторона Debian:
Я нахожусь на Debian 9 с php 7.0.
UnixODBC уже установлен и работает с некоторыми другими подключениями.
FreeTDS также установлен.
Итак, я сделал ссылку в odbcinst.ini:

[SQLAnywhere16]
Description     = SQLAnywhere driver
Driver  = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup   = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

И в odbc.ini:

[Excalibur]
Description     = Excalibur
Driver  = SQLAnywhere16
Server  = [ip]
Port    = 2638
Name    = excalib
User    = user
Password        = password

С командой

isql -v Excalibur

я получил

[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[08004][unixODBC][FreeTDS][SQL Server]Erreur SQL Anywhere -83 : La base de
donn▒es sp▒cifi▒e est introuvable
[ISQL]ERROR: Could not SQLConnect

Как я понимаю, он достигает сервера, но не находит мою базу данных. Хорошо, это обнадеживает. Может быть, опечатка, но я не могу найти документацию, которая может сказать мне, может быть, у кого-то есть подсказка?

Следующий шаг — сделать это с помощью php.

odbc:Driver={SQLAnywhere16};Server=[ip];Port=2638;Database=excalib;Uid=user;Pwd=pwd

И … это ничего не делает. Я ничего не получил с моего сервера (ERR_EMPTY_RESPONSE)
В журнале apache ничего нет.
Если я нарочно делаю опечатку на пути к драйверу, она отправляет правильную ошибку

Fatal error: Uncaught PDOException: SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC][Driver Manager]Can't open lib '/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so1' : file not found in /var/www/html/test.php:24 Stack trace: #0 /var/www/html/test.php(24): PDO->__construct('odbc:Driver={SQ...') #1 {main} thrown in /var/www/html/test.php on line 24

И … я потерялся. Кто-то может мне помочь? Или, может быть, есть другое решение для подключения к базе данных SQLAnywhere?

Спасибо.

Редактировать [спасибо Nitrex]:
Когда я пытаюсь подключиться через php, tcpdump ничего не записывает, поэтому я думаю, что проблема связана с Debian.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]