2016-09-02 28 views
0

我正在通過數據庫鏈接從Oracle運行查詢到SQL Server 2012實例。所有的結果是填充空間出來的最大長度的字段,我不明白爲什麼。 SQL Server數據庫中的數據類型是varchar。在[email protected]中,Oracle將列類型報告爲VARCHAR2使用Oracle Generic Connectivity進行查詢會返回空白填充結果

在我缺少的ODBC或SQL Server驅動程序中是否有一些初始化參數?

我在Linux上爲SQL Server使用Oracle通用連接(ODBC)和Microsoft ODBC驅動程序11。

編輯

  1. 字段是varchar上的SQL Server數據庫,根據INFORMATION_SCHEMA.COLUMNS。

  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個字符。