oracle 报标识符过长-oracle 建表报标识符过长

问题描述

oracle 建表报标识符过长

最近公司要将sqlserver数据迁移到oracle,因为原来sqlserver里表和字段的名字都很长,所以在oracle执行时报标识符过长,有没有什么好的解决办法,因为是一个完整的数据库所以表很多还有很多存储过程,我的oracle字符集貌似是UTF-8的,求大神帮忙啊....

解决方案

oracle中表明、列明、标识列字符不能超过30个。

1.Names must be from 1 to 30 bytes long with these exceptions:

?Names of databases are limited to 8 bytes.

?Names of database links can be as long as 128 bytes.

If an identifier includes multiple parts separated by periods, then each attribute can be up to 30 bytes long. Each period separator, as well as any surrounding double quotation marks, counts as one byte. For example, suppose you identify a column like this:

"schema"."table"."column"
The schema name can be 30 bytes, the table name can by 30 bytes, and the column name can be 30 bytes. Each of the quotation marks and periods is a single-byte character, so the total length of the identifier in this example can be up to 98 bytes.

可以试着先从sqlserver修改好过长的数据,其实工作量也不大,自已建一个文档,把修改点记录下来,在换成oracle数据库后,同时修改程序。

解决方案二:

TEXT转成CLOB试试

解决方案三:

TEXT转成CLOB试试

时间: 2024-09-11 04:53:51

oracle 报标识符过长-oracle 建表报标识符过长的相关文章

Oracle报错:ORA-01033:ORACLE initialization or shutdown in process

以DBA用户登录C:\用户名>sqlplus /nologSQL>connect sys/change_on_install as sysdba提示:已成功 SQL>shutdown normal提示:数据库已经关闭 已经卸载数据库 ORACLE 例程已经关闭 SQL>startup mount提示:ORACLE例程已经启动 Total System Global Area 118255568 bytes Fixed Size                  282576 byt

hibernate连接oracle报错

问题描述 hibernate连接oracle报错 Exception in thread "main" java.lang.AbstractMethodError: Method oracle/jdbc/driver/OracleDatabaseMetaData.supportsNamedParameters()Z is abstract 解决方案 PB连接Oracle报错plsql 连接 oracle 报错:ora-12514 解决方案二: 你看看是不是你的驱动包的问题,该异常说的是

pl/sql developer-PL/SQL Developer 远程连接Oracle 报错无法解析指定的标识符

问题描述 PL/SQL Developer 远程连接Oracle 报错无法解析指定的标识符 环境: 虚拟机中安装CentOS 6.3 CentOS安装Oracle 11gr2 客户机Win7 问题介绍: 已经在CentOS 启动了实例,监听: 开放了1521端口:虚拟机跟客户机网络连通: 使用DBVisualizer可以连接成功目标实例: PL/SQL Dev连接就报错"ORA-12154: TNS:could not resolve the connect identifier specifi

c++-win32 C++应用程序放到Server08下连接oracle报错

问题描述 win32 C++应用程序放到Server08下连接oracle报错 程序是C++的,连接本地Oracle数据库,方法为 CoInitialize(NULL);ConnectionPtr conn; try{ conn.CreateInstance(_uuidof(Connection)); conn->Open("Provider=OraOLEDB.Oracle.1;Data Source=ORACLE;Persist Security Info=false;Password=

Oracle报错ORA-00604 ORA-00376 数据库redo undo丢失恢复例子

运维DBA反映数据库存储故障,导致redo undo两个表空间数据文件丢失,数据库无法open启动 某集团的ebs系统因磁盘空间不足把redo和undo存放到raid 0之上,而且该库无任何备份.最终悲剧发生了,raid 0异常导致redo undo全部丢失,数据库无法正常启动(我接手之时数据库已经resetlogs过,但是未成功) 1.Oracle报错ORA-00604 ORA-00376 Sun Jul 27 11:31:27 2014 SMON: enabling cache recove

oracle报错ORA-00353: log corruption due to GoldenGate extract process问题

某客户今天告诉我,一套核心库的备库的日志涨的很快,通过检查发现alert log不断的报错,如下所示:  代码如下 复制代码 Fri Dec 11 20:48:37 2015 Incomplete read from log member '/arch2/2_82548_864474703.dbf'. Trying next member. Incomplete read from log member '/arch2/2_82548_864474703.dbf'. Trying next me

项目从mysql迁移到oracle报错

问题描述 项目从mysql迁移到oracle报错 本来没有一点错误,迁移之后出现了很多,不知道哪位大神见过下面的问题: 17:23:54,967 ERROR BasicPropertyAccessor:118 - IllegalArgumentException in class: com.ebupt.dataWarehouse.entity.dataQualityMonitoring.MonTaskConEntity, setter method of property: TemporaryI

oracle 报错 ora-00905

问题描述 oracle 报错 ora-00905 report如下,求大神来看看 在行: 99 上开始执行命令时出错 - ALTER TABLE vet ADD CONSTRAINT vetpractice_vet_fk FOREIGN KEY (vetpractice_no, pet_no, owner_no) REFERENCES vetpractice (vetpractice_no, pet_no, owner_no) ON DELETE NO ACTION ON UPDATE NO A

sqlserver 转oracle 报错

问题描述 sqlserver 转oracle 报错 [Err] ORA-32031: illegal reference of a query name in WITH clause 解决方案 查询name的时候不合理的引用,, 解决方案二: Oracle 转换 SqlServer (转)