【发布时间】:2017-01-10 19:33:33
【问题描述】:
我正在从 Oracle 跨数据库链接到 SQL Server 2012 实例运行查询。所有结果都用空格填充到字段的最大长度,我不知道为什么。 SQL Server 数据库中的数据类型是 varchar。在all_tab_columns@mydblink 中,Oracle 将列类型报告为VARCHAR2。
我缺少 ODBC 或 SQL Server 驱动程序中的一些初始化参数吗?
我在 Linux 上使用 Oracle Generic Connectivity (ODBC) 和 Microsoft ODBC Driver 11 for SQL Server。
编辑:
根据 information_schema.columns,字段为 SQL Server db 上的
varchar。它们没有填充。至少,当我运行查询
SELECT first_name, len(first_name) from mytable时,我得到“John”和“4”。从 Oracle 端运行SELECT first_name, length(first_name) from mytable,我得到“John”和“50”。
【问题讨论】:
-
你检查记录没有填充到原始SQL服务器表中吗?
-
SQL Server中的数据类型是
char还是varchar?
标签: sql-server oracle odbc varchar