2 cjq 371989 cjq_371989 于 2013.12.10 13:13 提问

oracle 建表报标识符过长

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

3个回答

a_liujian
a_liujian   2013.12.10 14:39
已采纳

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数据库后,同时修改程序。

cjq_371989
cjq_371989 唉 找了半天 也只能这样了
大约 4 年之前 回复
u013102391
u013102391   2013.12.10 13:46

TEXT转成CLOB试试

u013102979
u013102979   2013.12.10 13:51

TEXT转成CLOB试试

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!