使用 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
编辑:
字段在 SQL 服务器数据库上 varchar
,根据 information_schema.columns。
它们没有填充。至少,当我 运行 查询 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
个字符。
我正在 运行宁从 Oracle 跨数据库 link 到 SQL Server 2012 实例的查询。所有结果都用空格填充到字段的最大长度,我不明白为什么。 SQL服务器数据库中的数据类型是varchar。在 all_tab_columns@mydblink
中,Oracle 将列类型报告为 VARCHAR2
。
ODBC 或 SQL 服务器驱动程序中是否有一些我缺少的初始化参数?
我在 Linux.
上为 SQL 服务器使用 Oracle 通用连接 (ODBC) 和 Microsoft ODBC Driver 11编辑:
字段在 SQL 服务器数据库上
varchar
,根据 information_schema.columns。它们没有填充。至少,当我 运行 查询
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
个字符。