我有一个链接到SQL Server数据库(2008)的oracle数据库(11g)。
oracle中的列名最多为30个字符。 SQL Server中的列名最多为128个。
SQL Server数据库有一个表employee,其中包含以下列:'some_really_long_column_name_here'
和'short_col_here'
尝试通过数据库链接从 oracle数据库读取SQL服务器数据库时,如下所示:
select * from "engagements"@myDatabaseLink;
我收到如下错误:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Oracle][ODBC SQL Server Driver][SQL Server]Invalid column name 'some_really_long_column_name_h'.
ORA-02063: preceding 2 lines from SQL_SERVER_DATABASE_SCHEMA
28500. 00000 - "connection from ORACLE to a non-Oracle system returned this message:"
(请注意,列名在截止的错误消息中被截断)
我可以做
Select "short_col_here" from "engagements"@myDatabaseLink;
并获得正确的结果。
然而我做不到
select 'some_really_long_column_name_here' AS "shortAlias" from "engagements"@myDatabaseLink;
我一直在接受:
ORA-00972: identifier is too long
如果我无法修改SQL服务器架构(例如,在那一侧创建一个具有较短列名称的视图......)我有什么方法可以查询数据通过Oracle数据库列'some_really_long_column_name_here'?