2009-07-10 19 views
0

FreeTDS/unixODBCを使用して、ネットワーク経由でdebian上で動作するSBCLからSQL Server 2000インスタンスに接続することができました。unixODBC/FreeTDS経由でCL-SQLを使用してSQL Serverに接続

私は実際にサーバーからデータを取得できるので、すべて動作しています。

しかし、ラサポートされていないデータ型であるように見えるものをトリガー列の多く:

The value 2147483647 is not of type FIXNUM. 

-11 fell through ECASE expression. 
Wanted one of (-7 -6 -2 -3 -4 93 92 91 11 10 ...). 

を誰でもSQL ServerとCLSQLを使用した経験を持っているがお手伝いすることができるだろうでる?

答えて

0

FreeTDSドライバがOLEDB BLOBをうまく処理しないため、このエラー(2147483647のエラー)が発生します。

あなたはそれを動作させるために、次のSQLコマンドを発行する必要があります。

set textsize 102400 

あなたはFreeTDSのよくある質問エントリーhereを見ることができます。抜粋:

テキストデータ型はchar型とvarchar型と異なります。テキスト列の最大データ長は、textsize接続オプションによって管理されます。マイクロソフトでは、ドキュメントで4000文字のデフォルトのテキストサイズを使用すると主張していますが、実際にはその実装には一貫性がありません。テキスト列が4 GBのサイズで返されることがあります。

最適な解決策は、接続を確立するときにtextsizeオプションを適切な値に設定することです。 ECASEの発現用として

、私は実際にそれを解決していないが、私はbinary値にtimestampのデータ変換を行うことによって、それを離れてハッキング、およびvarchar(36)uniqueidentifierています。

関連する問題