0

最近、Windows 7ボックスを使い始めました。32 ビット ASE ドライバー (Adaptive Server Enterprise) を使用して Sybase データベースにクエリを実行しようとしています。マシンにインストールされている Sybase クライアントは v15.5 です。

問題は、小さなデータをクエリすると正しい結果が得られるが、予想される結果が 40 行を超えるとエラーが発生することです。

  >>> x = smd.Query("select ric_code as ric, weight, adjusted_weight as adjweight,
  currency as currency, close_price as last from v_temp_idx_comp where index_ric_
 code='.HSI'")
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "s:\quant\python\v1.0\smd.py", line 15, in Query
     result = x.fetchall()
 pyodbc.Error: ('HY000', 'The driver did not supply an error!')

このエラーを解決する方法がわかりません。これをさらにデバッグするには、どのような手順を実行できますか? さらに調査するために、いくつかのコマンド ライン ツールを使用できますか? isqlはどうですか?それらは同じ基本的なドライバーを使用しますか?

参考までに、クエリに問題はありません。クエリは、Merant ドライバーを使用していた以前のマシンで非常にうまく機能します。

どんな提案でも大歓迎です。

4

1 に答える 1

1

私はまったく同じ問題に遭遇していたので、あなたのこの投稿に出くわしました. (Windows 7 と Sybase ASE 15.5 [私の場合は python 2.7.2 のみ]。)

私は自分の問題を理解したと思います.クエリを実行していたテーブルの列の1つが、「bigint」データ型を持つと定義されていました。これは私にとって新しいテーブルなので、テーブルを削除し、データ型として "int" のみを使用して再作成したところ、問題なく動作するようになりました。「bigint」型の余分な容量は実際には必要ないことがわかったので、幸運でした。「int」で十分です。

于 2012-07-06T19:34:43.777 に答える