2016-12-20 5 views
0

Python 2.7でMS SQLドライバを使用しています。 sql_variant列を持つテーブルでクエリを実行しているときに、不正なデータが取得されています。私がデータをキャストするとき、私は正しい値を得ることができます。 明示的なCASTをスキップする方法はありますか。PyMsSQLがsql_variantカラムの不正なデータを読み取る

+0

pythonベースのadodb apiでは、この明示的なキャストは必須ではありません。しかし、adodb APIを使用する上でのいくつかの制約のため、私はPyMSMSqlを試しています。このsql_variant列のキャストは常に必要ですか?私がpymssqlを初めて使用しているときは、参考にしてください。 – sam

答えて

0

今でも同じ問題にぶつかりましたが、まだ修正が見つかりませんでした。 CASTは、仕事をするだけの事だので、私のような何かに私のSQLを再書き込みする必要がありました:

sql = 'SELECT *, CAST (sql_varian_field AS BIGINT) as my_field_fixed FROM myTable' 

、ちょうどそこに最後の列に参照のうえ。

pymssqlはconn_propertiesに接続する際に、いくつかのSQLを追加することが可能になりますが:

pymssql.connect(server='.', user='', password='', database='', timeout=0, login_timeout=60, charset='UTF-8', as_dict=False, host='', appname=None, port='1433', conn_properties, autocommit=False, tds_version='7.1') 

は、次の質問に答えることができます任意のSQLの専門家があります:DBは、すべてのハンドルになるだろう任意の単純なSQLコマンドがありますsql_variantフィールドは、セッション全体のいくつかの事前定義された型ですか? pymssql.connectが呼び出されたときにconn_propetiesとして渡すことができる何か?

関連する問題