• 开发:异常收集之 DB2建表相关问题


    第一次用DB2数据库,因为考虑到建表语句可能不一样,所以採用手动建表的办法。一个个字段去填。并勾选主键。最后发现创建失败。看了下系统生成的sql语句

    sql语句例如以下:

    CREATE TABLE FRONT.SCORE_REVERSE
    (
     SERIAL_NO VARCHAR(50),
     SECRET_KEY VARCHAR(50), 
     TRADEBOX_ID INTEGER(32), 
     REDUCE_POINT_TYPE VARCHAR(50), 
     REDUCE_POINT_REASON VARCHAR(50), 
     REDUCE_TIME VARCHAR(50), 
     LOGIN_NAME VARCHAR(50), 
     COMMODITY_ID INTEGER(32), 
     COMMODITY_NUMBER VARCHAR(50), 
     POINT INTEGER(32), 
     CONTACT_NAME VARCHAR(50), 
     CONTACT_MOBILE_NO VARCHAR(50), 
     CONTACT_ADDRESS VARCHAR(50), 
     COMMODITY_TYPE VARCHAR(50), 
     REVERSE_TIME VARCHAR(50), 
     PRIMARY KEY (SERIAL_NO));


    提示下面两个错误:

    第一个异常:[CREATE - 0 row(s), 0.000 secs]  [Error Code: -104, SQL State: 42601]  DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=INTEGER;R(50), 

    因为网上搜不到想要的答案,遂直接看问题。发现提示SQLERRMC=INTEGER;R(50)  于是去掉INTEGER的长度,将INTEGER(32) 改成了INTEGER。 问题解决



    第二个异常:DB2 SQL Error: SQLCODE=-542, SQLSTATE=42831, SQLERRMC=SERIAL_NO, DRIVER=4.15.82

    这个就让我找不到头脑,经搜索发现。DB2创建主键时,其主键sql必须设置不为空。 也就是要设置为: SERIAL_NO VARCHAR(50) not null,       而系统生成的没有not null


    又一次改动sql。再次运行  ok    ,表创建完成              

  • 相关阅读:
    [ssh] 通过ssh私钥生成公钥的方法
    [redis] hiredis-vip 简单使用
    [redis] redis cli的学习记录
    [ovs] 编写openflow流表的文档指引
    [iptables] 如何用iptables管理桥接模式下的设备
    [qemu][kvm] 在kvm嵌套kvm的虚拟机里启动kvm加速
    [qemu] 差分盘使用
    [yum] yum加速
    [ovs] openvswitch 从源码编译安装
    [qemu] qemu从源码编译安装
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6835262.html
Copyright © 2020-2023  润新知