我使用PHP PDO來連接MySql Db,它很好用。我有類似:爲pyodbc創建一個類似於PHP PDO的DSN。可能嗎?
$dsn = 'mysql:host=localhost;dbname=database_name';
$user_db = 'admin';
$password = 'password';
$pdo = new PDO($dsn, $user_db, $password);
現在我需要從蟒蛇腳本加載同一個數據庫中,我必須使用pypodbc模塊
但我發現了一些問題:
如果我這樣做(在Python上):
pyodbc.connect('DRIVER={MySQL};SERVER=localhost;DATABASE=database_name;UID=admin;PWD=password;')
我在日誌中遇到錯誤:
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/lib64/libmyodbc5.so' : file not found (0) (SQLDriverConnect)")
如果我檢查/etc/odbcinst.ini我可以看到:
# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
我嘗試添加的包使用mysql-connector-ODBC通過YUM和我得到mysql-連接器odbc.x86_64 0:5.1.5r1144-7.el6
,然後運行我的腳本我有一個新的錯誤:
/usr/local/bin/python2.7: relocation error: /usr/lib64/libmyodbc5.so: symbol strmov, version libmysqlclient_16 not defined in file libmysqlclient_r.so.16 with link time reference
看來這個版本不與MySQL兼容,我有:37年5月5日-CLL - MySQL社區服務器(GPL)
我做了YUM REMOVE即可恢復到以前的conf。
現在呢?有什麼建議麼 ? 謝謝!
我的配置:
我的服務器:CENTOS 6.6 x86_64的Virtuozzo的 MySQL的:37年5月5日-CLL - MySQL社區服務器(GPL)