Ora-01948: Identifier's Name Length (31) Exceeds Maximum (30) Using DG4ODBC And Procedures When Column Names Are Longer Than 30 Characters
(Doc ID 1360188.1)
Last updated on JUNE 08, 2023
Applies to:
Oracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Express Cloud Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.
Symptoms
Using Database Gateway for ODBC (DG4ODBC) 11.2 to connect to MS SQL Server.
When compiling a procedure at the Oracle Database, that references tables in the remote MS SQL Server, the following error occurs:
Line # = 0 Column # = 0 Error Text = ORA-04052: error occurred when looking up remote object ORACLE.V_STG_GENDGEN@DBLINK
ORA-01948: identifier's name length (31) exceeds maximum (30)
ORA-01948: identifier's name length (31) exceeds maximum (30)
This occurs even though the SQL Server table name is less than 30 characters.
A query of the remote table via SQLPlus does not produce the error. However, running an anonymous block from SQLPlus does produce the error:
Error starting at line 1 in command:
declare
v_count integer;
begin
select count(*) into v_count from ORACLE.V_STG_GENDGEN@DBLINK ;
end;
Error report:
ORA-04052: error occurred when looking up remote object ORACLE.V_STG_GENDGEN@RAY
ORA-01948: identifier's name length (31) exceeds maximum (30)
04052. 00000 - "error occurred when looking up remote object %s%s%s%s%s"
*Cause: An error has occurred when trying to look up a remote object.
*Action: Fix the error. Make sure the remote database system has run
KGLR.SQL to create necessary views used for querying/looking up
objects stored in the database.
declare
v_count integer;
begin
select count(*) into v_count from ORACLE.V_STG_GENDGEN@DBLINK ;
end;
Error report:
ORA-04052: error occurred when looking up remote object ORACLE.V_STG_GENDGEN@RAY
ORA-01948: identifier's name length (31) exceeds maximum (30)
04052. 00000 - "error occurred when looking up remote object %s%s%s%s%s"
*Cause: An error has occurred when trying to look up a remote object.
*Action: Fix the error. Make sure the remote database system has run
KGLR.SQL to create necessary views used for querying/looking up
objects stored in the database.
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |