ODBC 接続を使用して MSSQL データベースに接続する Python プログラムがあります。私が使用している Python ライブラリは pypyodbc です。
これが私のセットアップです:
- Windows 8.1 x64
- SQL Server 2014 x64
- パイソン 2.7.9150
- PyPyODBC 1.3.3
- ODBC ドライバー: SQL Server ネイティブ クライアント 11.0
私が抱えている問題は、varchar(max) 列を持つテーブルをクエリすると、コンテンツが切り捨てられることです。
私はpypyodbcが初めてで、狂ったように検索してきましたが、pypyodbcまたはpyodbcでこれが発生するのを防ぐ方法について何も見つかりません。少なくとも、私が使ってきた検索用語には当てはまらず、他にどのフレーズを試したらよいかわかりません。
SQL クエリに追加しようとしSET TEXTSIZE 2147483647;
ましたが、データはまだ切り詰められています。
これを防ぐにはどうすればよいですか?または、私を正しい方向に向けることができますか?
アップデート:
そこで、SQL クエリでキャストを実行してみました。私が行うCAST(my_column as VARCHAR(MAX))
と、同じ位置で切り捨てられます。ただし、これを行うCAST(my_column as VARCHAR(8000))
と、テキストのセットが大きくなりますが、コンテンツの一部が切り捨てられます。それよりも大きなことをしようとすると、それが使用できる最大8000
であるというエラーが表示されます。8000
ここで何が起こっているのか知っている人はいますか?を使用してもうまくいかないのは奇妙に思えMAX
ます。