การเชื่อมต่อ OSX + Python + MSSQL

ฉันยังใหม่ต่อการพัฒนา Python และฉันกำลังพยายามตั้งค่าโปรเจ็กต์ Python/Flask บน Mac ของฉัน (Mavericks) เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ MSSQL ผ่าน pyodbc + freetds + unixodbc

ฉันสามารถเชื่อมต่อและสอบถามเซิร์ฟเวอร์โดยใช้ isql และ osql แต่ฉันไม่สามารถรับ pyodbc เพื่อเชื่อมต่อได้

ฉันทำให้ isql และ osql ทำงานได้อย่างไร:

  • ติดตั้ง python ผ่านการชง: brew install python
  • ติดตั้ง pip และ virtualenv แล้ว
  • ติดตั้ง unixodbc ผ่านการชง: brew install unixodbc
  • ติดตั้ง freetds ผ่านการชง: brew install freetds --with-unixodbc
  • อัปเดต freetds.conf, odbc.ini (odbc.ini ชี้ไปที่ไดรเวอร์โดยตรง)
  • อัปเดตการอนุญาตบน lib เพื่อให้ปฏิบัติการได้: chmod 554 /usr/local/lib/libtdsodbc.so

เมื่อถึงจุดนี้ฉันสามารถเชื่อมต่อได้สำเร็จ ตอนนี้สำหรับส่วน pyodbc...

  • จากภายใน virtualenv ของฉัน ให้ติดตั้ง pyodbc sudo pip install pyodbc

ฉันได้รับข้อผิดพลาดนี้ในรูปแบบต่างๆ ขึ้นอยู่กับสตริงการเชื่อมต่อของฉัน:

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

ดูเหมือนว่ากำลังพยายามใช้ iODBC แทน unixODBC ซึ่งอาจเป็นปัญหาแรกของฉัน

ฉันจะทำให้ pyodbc ใช้ unixODBC ได้อย่างไร


person minboost    schedule 23.12.2013    source แหล่งที่มา


คำตอบ (1)


สำหรับใครก็ตามที่พยายามคิดสิ่งนี้ ฉันใช้งานได้โดยใช้ pymssql แทน pyodbc

person minboost    schedule 26.12.2013