使用 Oracle Generic Connectivity 查询 returns 空白填充结果

Query using Oracle Generic Connectivity returns blank-padded results

我正在 运行宁从 Oracle 跨数据库 link 到 SQL Server 2012 实例的查询。所有结果都用空格填充到字段的最大长度,我不明白为什么。 SQL服务器数据库中的数据类型是varchar。在 all_tab_columns@mydblink 中,Oracle 将列类型报告为 VARCHAR2

ODBC 或 SQL 服务器驱动程序中是否有一些我缺少的初始化参数?

我在 Linux.

上为 SQL 服务器使用 Oracle 通用连接 (ODBC) 和 Microsoft ODBC Driver 11

编辑:

  1. 字段在 SQL 服务器数据库上 varchar,根据 information_schema.columns。

  2. 它们没有填充。至少,当我 运行 查询 SELECT first_name, len(first_name) from mytable 时,我得到 "John" 和“4”。 运行 SELECT first_name, length(first_name) from mytable 从 Oracle 端,我得到 "John" 和“50”。

小崽子。看起来数据实际上 空白填充的。 LEN() 函数忽略尾随空格。使用 cast( first_name as varbinary(max) ) 显示字段末尾有大量 0x20 个字符。