Saya baru mengenal pengembangan Python dan saya mencoba menyiapkan proyek Python/Flask di Mac saya (Mavericks) untuk terhubung dengan server MSSQL melalui pyodbc + freetds + unixodbc.
Saya dapat terhubung dan menanyakan server menggunakan isql
dan osql
, tetapi saya tidak dapat menghubungkan pyodbc.
Bagaimana saya membuat isql dan osql berfungsi:
- instal python melalui minuman:
brew install python
- menginstal pip dan virtualenv
- instal unixodbc melalui minuman:
brew install unixodbc
- instal freetds melalui minuman:
brew install freetds --with-unixodbc
- perbarui freetds.conf, odbc.ini (odbc.ini menunjuk langsung ke driver)
- perbarui izin di lib agar dapat dieksekusi:
chmod 554 /usr/local/lib/libtdsodbc.so
Pada titik ini, saya berhasil terhubung. Sekarang, untuk bagian pyodbc...
- dari dalam virtualenv saya, instal pyodbc
sudo pip install pyodbc
Bergantung pada string koneksi saya, saya mendapatkan beberapa variasi kesalahan ini:
DBAPIError: (Error) ('IM002', '[IM002] [iODBC][Driver Manager]Data source name not found and no default driver specified. Driver could not be loaded (0) (SQLDriverConnect)') None None
Sepertinya ia mencoba menggunakan iODBC daripada unixODBC, yang mungkin merupakan masalah pertama saya.
Bagaimana cara agar pyodbc menggunakan unixODBC?