У меня есть FileMaker db, работающий на FileMaker Server 14 на Mac Mini, и я пытаюсь добраться до него с помощью pyodbc. Все плохо.подключиться к файловому серверу с помощью pyodbc
Во-первых, что работает:
telnet 192.169.19.3 2399
ssh [email protected]
tsql -H FM-Server -p 2399 -U Name -P pwd
Одна странная вещь о том, что последний является то, что он дает мне счетчик секунд:
1
2
не подскажите, хотя я все еще могу вводить команды Я не уверен, что это значит и не мог найти никакой информации об этом.
Теперь, что не работает:
tsql -LH 192.169.19.3
tsql -LH FM-Server
isql FM-Server Name pwd
не будет отображаться информация для FileMaker Server, ISQL дает мне [ISQL]ERROR: Could not SQLConnect
, который просто так полезно вы знаете
Один вопрос в том, что в этой точке I «ве-то забыто, должен ли я использовать FM ODBC или FreeTDS как мой водитель в pyodbc, к счастью, ни один из них работают:
>>> c = pyodbc.connect("DRIVER={FreeTDS};DSN=FM-Server;UID=Name;PWD=pwd")
pyodbc.Error: ('08001', '[08001] [unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)')
>>> c = pyodbc.connect("DRIVER={FileMaker ODBC};DSN=FM-Server;UID=Name;PWD=pwd")
pyodbc.Error: ('08S01', '[08S01] [unixODBC][FileMaker][FileMaker ODBC] Failed to connect to listener (2) (65535) (SQLDriverConnect)')
Давать это только DSN замерзает окно. Вот мои конфиги:
odbc.ini | /usr/local/Cellar/unixodbc/2.3.4/etc/odbc.ini
[FM-Server]
Driver = FreeTDS
Host = 192.169.19.3
ServerName = FM-Server
UID = Name
PWD = pwd
Port = 2399
odbcinst.ini | /usr/local/Cellar/unixodbc/2.3.4/etc/odbcinst.ini
[ODBC Drivers]
FileMaker ODBC = Installed
FreeTDS = Installed
[FileMaker ODBC]
Driver = /Library/ODBC/FileMaker ODBC.bundle/Contents/MacOS/fmodbc.so
Setup =
[FreeTDS]
Description = FreeTDS
Driver = /usr/local/Cellar/freetds/1.00.9/lib/libtdsodbc.0.so
Setup = /usr/local/Cellar/freetds/1.00.9/lib/libtdsodbc.0.so
UsageCount = 1
freetds.conf | /usr/local/Cellar/freetds/1.00.9/etc/freetds.conf
[FM-Server]
host = 192.169.19.3
port = 2399
tds version = 8.0
Любая информация очень ценится и крикнуть ресурсов here, here, и в других местах, помогая мне получить еще далеко.
Вам определенно нужно использовать драйвер ODBC FileMaker. FreeTDS предназначен для работы с Microsoft SQL Server и Sybase. –
Спасибо, я обновлю этот вопрос, когда вернусь на тестовую машину, но пока вы знаете, как я могу указать pyobbc на приложение ODBC Driver Manager с http://www.odbcmanager.net/? – brnco
Приложение ODBC Manager, по-видимому, просто удобный способ обновления содержимого файлов ODI ODBC. Вы использовали бы его для создания записи DSN, которая использует драйвер «FileMaker ODBC», и что DSN будет записан в odbc.ini. Затем pyodbc будет использовать этот DSN для соединения, например. 'cnxn = pyodbc.connect (" DSN = MyFileMakerDSN; ")'. Обратите внимание, что при использовании DSN для вашего подключения в строке соединения требуется только имя DSN * *, поскольку в записи DSN (в odbc.ini) определены другие свойства (драйвер, сервер, база данных ...). –