cjq_371989 2013-12-10 05:13 采纳率: 75%
浏览 11769
已采纳

oracle 建表报标识符过长

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

  • 写回答

3条回答 默认 最新

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题