当Oracle数据库链接使用ODBC连接到Excel时,我有“标识符的名称长度超过最大值”
我尝试使用ODBC和数据库链接从Excel中获取数据。 我使用这样的SQL:
Select * From A222$@TEST2
当TEST2
– Excel数据库链接的名称,以及A222
– Excel文件的工作表名称。
但是,因为在Excel的第一行,我有很大的string值,如A1234567890_B1234567890_C1234567890_D1234567890_E1234567890
转换为非常大的列名称,当我尝试像这样使用sql:
CREATE VIEW VIEW2 AS Select * From A222$@TEST2; // or Select A1234567890_B1234567890_C1234567890_D1234567890_E1234567890 as c1 from A222$@TEST2; // or Select "A1234567890_B1234567890_C1234567890_D1234567890_E1234567890" as c1 from A222$@TEST2;
我得到以下错误
ORA-01948: identifier's name length (31) exceeds maximum (30) ORA-00972: identifier is too long
而且我无法更改此Excel文件或创build此文件的临时副本。
这是可能的:
-
使用Excel列的名称,如A1,AB1,Z1,而不是从ODBC Excel的SQL查询中的第一行的值?
-
或者在不更改此Excel文件或创build此Excel文件的临时副本的情况下解决此问题?
先谢谢你!
我不知道我是否完全理解这个问题。 正如甲骨文所指出的,这个count#of#people#how#live#in#San#francisco
但是,你真的想要一个列名,特别是如果它是无效的?
我猜你想要一个string值不是一个列名,所以使用单引号:
Select 'count#of#people#how#live#in#San#francisco' as c1 from A222$@TEST2;
另外,每个select
只有一个。