cjq_371989
cjq_371989
采纳率75%
2013-12-10 05:13 阅读 11.5k

oracle 建表报标识符过长

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    a_liujian a_jian 2013-12-10 06: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数据库后,同时修改程序。

    点赞 1 评论 复制链接分享
  • u013102391 半夏1234 2013-12-10 05:46

    TEXT转成CLOB试试

    点赞 1 评论 复制链接分享
  • u013102979 城哥哥1 2013-12-10 05:51

    TEXT转成CLOB试试

    点赞 评论 复制链接分享

相关推荐