FileMaker 11 server Advanced
Visual Studio Community 2015 (Python-Tools installiert) Anaconda 32bit (Aufgrund des odbc-Treibers muss es 32bit sein. 32bit und 64bit können nebeneinander existieren, wenn sie zum Zeitpunkt der Installation entwickelt wurden.)
https://www.continuum.io/downloads
Ich habe mich auf diese Person bezogen. http://qiita.com/kyo-bad/items/75d88ce77660e3fa158c
FileMakerServer -FileMaker Server ist eine erweiterte Version (ODBC-Verbindung ist in der normalen Version nicht möglich) ・ Es wird davon ausgegangen, dass auch die ODBC-Einstellungen und Freigabeeinstellungen für die Zieldatei festgelegt sind.
Python3 -Verwendet Anaconda 32bit (da in FileMaker 11 nur 32bit ODBC-Treiber vorhanden waren)
・ Wenn Anaconda 64bit als Hauptgerät installiert ist Werkzeuge (T) -> Optionen (O) ... Python Tools->Environment Options Erstellen Sie eine neue 32-Bit-Einstellung mit Projekt (P) -> (Projektname) Eigenschaften (E) ... General -> Interpreter: Nehmen Sie die vorgenommenen Einstellungen vor.
ODBC -Installieren Sie mit dem in FileMaker enthaltenen ODBC-Installationsprogramm
http://filemaker-jp.custhelp.com/app/answers/detail/a_id/9170/~/filemaker-11-installing -odbc- und -jdbc- client drivers
http://filemaker-jp.custhelp.com/app/answers/detail/a_id/9974/~/64-bit version -windows-about -odbc- Verbindung in der Umgebung
Installieren Sie pypyodbc als vorläufige Vorbereitung.
Eingabeaufforderung
%windir%\system32\cmd.exe "/K" "C:\Anaconda-Installationsziel\Scripts\activate.bat" "C:\Anaconda-Installationsziel"
pip install pypyodbc
Python3
#!/usr/bin/env python
# -*- coding: utf-8 -*-
###coding: utf-Teil 8 hängt von der Kodierung des Dokuments ab
###Datei(F)->Erweiterte Einstellungen für Speicheroptionen(V)...
###Die Dokumentcodierung kann mit geändert werden
###In diesem Fall "Unicode"(UTF-8 Keine Unterschrift)-Codepage 65001 "
###SHIFT-Für JIS cp932
import pypyodbc
def pypy():
cnn = pypyodbc.connect('DRIVER={FileMaker ODBC};SERVER=192.168.XXX.XXX:2399;UID=USER_NAME;PWD=PASSWORD;DATABASE=Dateimacher.fp7')
cur = cnn.cursor()
#Bei japanischen Feldern müssen Sie diese immer in doppelte Anführungszeichen setzen.
cur.execute("SELECT \"ID\",\"Name\" from \"Tabellenname\" WHERE \"ID\" =Nummer")
rows = cur.fetchall()
for row in rows:
print(row[1])
cur.close()
cnn.close()
if __name__ == "__main__":
pypy()
-Der Zeichencode kann utf-8 oder cp932 sein, stimmt jedoch mit der # - * - Codierung überein: utf-8 - * - Teile.
Vielleicht habe ich gerade einen Fehler in meinen Einstellungen gemacht, aber das Programm hat mit den folgenden Einstellungen nicht funktioniert. Besonders wenn Japaner involviert sind, wird es schwierig zu bestehen. pyodbc
Python3
import pyodbc
Ich konnte mich mit pyodbc.connect verbinden. Wenn cursor.execute (Abfrage) auf jeden Fall ein japanisches Feld enthält 'utf-8' codec can't decode byte 0x8e in position 0: invalid start byte Konnte aufgrund eines Fehlers wie (Dies ist auch dann der Fall, wenn Sie mit .encode ('utf-8') usw. codieren oder decodieren oder die Codierung des Dokuments ändern) nicht erhalten werden. ADO
Python
import win32com.client
#DBConnection=win32com.client.Dispatch('ADODB.Connection')
#DBConnection.Open(ConnectionString)
Der Code wird übergeben, aber XXX.Fields.Item (i) .Value nimmt keine Zeichenfolgenwerte auf
PyFileMaker Python3 wird nicht unterstützt
Recommended Posts