2016-09-02 6 views
0

OracleからSQL Server 2012インスタンスへのデータベース・リンクを介して問合せを実行しています。すべての結果はです。フィールドの最大長さにはが空白で埋められています。理由はわかりません。 SQL Serverデータベースのデータ型はvarcharです。 [email protected]には、列タイプがVARCHAR2と報告されています。Oracle Generic Connectivityを使用した問合せでブランクの結果が返される

ODBCまたはSQL Serverドライバに初期化パラメータがありますか?

Linux上でSQL Server用にOracle Generic Connectivity(ODBC)とMicrosoft ODBC Driver 11を使用しています。

編集

  1. フィールドはinformation_schema.columnsによると、SQL ServerのDBにvarcharです。

  2. パディングされていません。少なくとも、クエリSELECT first_name, len(first_name) from mytableを実行すると、「John」と「4」が得られます。 Oracle側からSELECT first_name, length(first_name) from mytableを実行すると、「John」と「50」が表示されます。

+0

元のSQLサーバーテーブルにレコードが埋め込まれていないことを確認しましたか? – gile

+0

SQL Serverのデータ型は 'char'か' varchar'ですか? –

答えて

0

Whelp。実際にはのデータは、の空白が埋め込まれているようです。 LEN()関数は、末尾のスペースを無視します。 cast(first_name as varbinary(max))を使用すると、最後に0x20という大きな数字がフィールドに表示されます。

関連する問題