現在、 sybpydbを使用して Sybase 15.7 サーバーに接続しています。うまく接続しているようです:
import sys
sys.path.append('/dba/sybase/ase/15.7/OCS-15_0/python/python26_64r/lib')
sys.path.append('/dba/sybase/ase/15.7/OCS-15_0/lib')
import sybpydb
conn = sybpydb.connect(user='usr', password='pass', servername='serv')
正常に動作しています。接続の詳細を変更すると、接続エラーが発生します。
次に、データベースを選択します。
curr = conn.cursor()
curr.execute('use db_1')
ただし、クエリを実行しようとすると、常に返されますNone
print curr.execute('select * from table_1')
use
とselect
クエリを同じexecute
で実行しようとしましたgo
が、それぞれの後にコマンドを含めようとしcurr.connection.commit()
ましたが、それぞれの後に使用しようとしましたが、すべて成功しませんでした。dbartisan
と を使用して、使用しisql
ている同じクエリがエントリを返すことを確認しました。
Python でクエリを実行しても結果が得られないのはなぜですか?
編集:
追加情報です。インポートを機能させるために、sybpydb
2 つの環境変数を変更する必要がありました。lib パス (に追加したものと同じものsys.path
)を に追加しました$LD_LIBRARY_PATH
。
setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":dba/sybase/ase/15.7/OCS-15_0/python/python26_64r/lib:/dba/sybase/ase/15.7/OCS-15_0/lib
SYBASE
パスを 12.5 から 15.7に変更する必要がありました。これはすべて で行われましたcsh
。
すべての curr.execute() の後に conn.error() を出力すると、次のようになります。
("Server message: number(5701) severity(10) state(2) line(0)\n\tChanged database context to 'master'.\n\n", 5701)