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条)

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型