Sql 当Oracle数据库链接到Excel时';s使用ODBC我有“;标识符';s名称长度超过最大值;

Sql 当Oracle数据库链接到Excel时';s使用ODBC我有“;标识符';s名称长度超过最大值;,sql,excel,oracle,oracle11g,Sql,Excel,Oracle,Oracle11g,我尝试使用ODBC和数据库链接从Excel中获取Oracle中的数据。我像这样使用sql: Select * From A222$@TEST2 CREATE VIEW VIEW2 AS Select * From A222$@TEST2; // or Select A1234567890_B1234567890_C1234567890_D1234567890_E1234567890 as c1 from A222$@TEST2; // or Select "A1234567890

我尝试使用ODBC和数据库链接从Excel中获取Oracle中的数据。我像这样使用sql:

Select * From A222$@TEST2
 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;
TEST2
-Excel数据库链接的名称和
A222
-我的Excel文件工作表的名称时

然而,因为在Excel的第一行中,我有大字符串值,比如
A1234567890\u B1234567890\u C1234567890\u D1234567890\u E1234567890
转换为非常大的列名,当我尝试像这样使用sql时:

Select * From A222$@TEST2
 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文件或创建此文件的临时副本

有可能:

  • 使用Excel列的名称,如A1、AB1、Z1,而不是第一行的名称 ODBC Excel中sql查询中的值

  • 或者不更改此Excel文件或 是否正在创建此Excel文件的临时副本


  • 提前谢谢你

    我不知道我是否完全理解这个问题。正如甲骨文所指出的,旧金山的this
    count of people#how#live#in#San#francisco
    不是一个有效的甲骨文名称。但是您真的想要一个列名吗,特别是如果列名无效的话

    我猜您想要的是字符串值而不是列名,所以请使用单引号:

    Select 'count#of#people#how#live#in#San#francisco' as c1
    from A222$@TEST2;
    
    此外,每个
    选择
    只能从
    中选择一个