找回密码
 立即注册

QQ登录

只需一步,快速开始

zwh001
金牌服务用户   /  发表于:2024-11-18 15:53  /   查看:193  /  回复:3
100金币
操作系统:银河麒麟 V10 SP3 ARM64
数据库:达梦8
活字格设计器和服务器版本:均为 10.0.102.0
问题描述:



如上图所示,这段相同的代码,在生产和测试环境表现不一样,请问是数据库问题,还是其它原因导致的?请教解决思路,谢谢!


  1. CREATE TABLE "SALARY"."月度工资表" ( "ID" BIGINT AUTO_INCREMENT NOT NULL, "公司" BIGINT, "员工姓名" VARCHAR2(500), "工资月份" DATETIME(6), "工资分类" VARCHAR2(500), "序号" BIGINT, "公司CODE" VARCHAR2(500), "员工ID" VARCHAR2(500), "手机号码" VARCHAR2(500), "FGC_Creator" VARCHAR2(500), "FGC_CreateDate" DATETIME(6), "FGC_LastModifier" VARCHAR2(500), "FGC_LastModifyDate" DATETIME(6), "FGC_UpdateHelp" VARCHAR2(40), "整数" BIGINT, NOT CLUSTER PRIMARY KEY("ID") USING INDEX TABLESPACE "HZG_INDEX" ) STORAGE(ON "HRGZT_DATA", CLUSTERBTR) AUTO_INCREMENT = 5; CREATE OR REPLACE INDEX "IFgcAutoIX2736faf3d8c74630be4d" ON "SALARY"."月度工资表"("FGC_UpdateHelp" ASC) STORAGE(ON "HZG_INDEX", CLUSTERBTR) ; CREATE OR REPLACE UNIQUE INDEX "IDX_SA_GZ_ID" ON "SALARY"."月度工资表"("ID" ASC) STORAGE(ON "HZG_INDEX", CLUSTERBTR) ; CREATE OR REPLACE UNIQUE INDEX "月度工资表_员工姓名_IDX" ON "SALARY"."月度工资表"("员工姓名" ASC,"工资月份" ASC,"工资分类" ASC,"手机号码" ASC) STORAGE(ON "HZG_INDEX", CLUSTERBTR) ;
复制代码






完整的建库SQL如下:

  1. select * from "SALARY"."工资数据表";
  2. select * from "SALARY"."月度工资表";

  3. drop TABLE "SALARY"."工资数据表";
  4. DROP TABLE "SALARY"."月度工资表";

  5. -- SALARY.月度工资表 definition

  6. CREATE TABLE SALARY.月度工资表 (
  7.         ID BIGINT NOT NULL AUTO_INCREMENT,
  8.         公司 BIGINT NULL,
  9.         员工姓名 VARCHAR2(500) NULL,
  10.         工资月份 DATETIME NULL,
  11.         工资分类 VARCHAR2(500) NULL,
  12.         序号 BIGINT NULL,
  13.         公司CODE VARCHAR2(500) NULL,
  14.         员工ID VARCHAR2(500) NULL,
  15.         手机号码 VARCHAR2(500) NULL,
  16.         "FGC_Creator" VARCHAR2(500) NULL,
  17.         "FGC_CreateDate" DATETIME NULL,
  18.         "FGC_LastModifier" VARCHAR2(500) NULL,
  19.         "FGC_LastModifyDate" DATETIME NULL,
  20.         "FGC_UpdateHelp" VARCHAR2(40) NULL,
  21.         CONSTRAINT CONS_MS_ID PRIMARY KEY (ID)
  22. );
  23. CREATE INDEX "IFgcAutoIX2736faf3d8c74630be4d" ON SALARY.月度工资表 ("FGC_UpdateHelp");
  24. CREATE UNIQUE INDEX UIDX_MS_ID ON SALARY.月度工资表 (ID);
  25. CREATE UNIQUE INDEX 月度工资表_员工姓名_IDX ON SALARY.月度工资表 (员工姓名,工资月份,工资分类,手机号码);

  26. -- SALARY.工资数据表 definition

  27. CREATE TABLE SALARY.工资数据表 (
  28.         ID BIGINT NOT NULL AUTO_INCREMENT,
  29.         月度工资ID BIGINT NULL,
  30.         序号 BIGINT NULL,
  31.         工资项名称 VARCHAR2(500) NULL,
  32.         值 VARCHAR2(500) NULL,
  33.         "FGC_Creator" VARCHAR2(500) NULL,
  34.         "FGC_CreateDate" DATETIME NULL,
  35.         "FGC_LastModifier" VARCHAR2(500) NULL,
  36.         "FGC_LastModifyDate" DATETIME NULL,
  37.         "FGC_UpdateHelp" VARCHAR2(40) NULL,
  38.         CONSTRAINT CONS_MS_ITEM_ID PRIMARY KEY (ID),
  39.         CONSTRAINT 工资数据表_月度工资表_FK FOREIGN KEY (月度工资ID) REFERENCES SALARY.月度工资表(ID) ON DELETE CASCADE
  40. );
  41. CREATE INDEX "IFgcAutoIXab55f9bc45244f6d997a" ON SALARY.工资数据表 ("FGC_UpdateHelp");
  42. CREATE UNIQUE INDEX UIDX_MS_ITEM_ID ON SALARY.工资数据表 (ID);
  43. CREATE INDEX IDX_SI_MS_ID ON SALARY.工资数据表 (月度工资ID);
复制代码


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

3 个回复

倒序浏览
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-11-18 17:30:01
沙发
首先这个问题大概率是数据库方面的原因,至于问题出在了哪方面,就需要调查了

大佬检查下这几个地方:
1.检查测试库和正式库中的连接字符串,看看是不是哪边多了额外的配置

2.两个数据库都是达梦V8吗
3.所有数据表都有这个问题还是只有某张特定数据表有问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
zwh001
金牌服务用户   /  发表于:2024-11-21 09:05:12
板凳
谢谢回复,关于这个问题,我又做了进一步调研和对比,我重新描述一下:

首先,我对接的是外联库,对应的外联表设置了主键,但没有在活字格中配置自增,而是用外联库的自增机制实现的自增ID,如下图:



结果返回的 ID 就变成 null 了,如下图:



正常情况下,测试返回数据应该是:



请教一下,这个情况怎么解决?望指点~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-11-21 09:58:14
地板
按照大佬的描述,这个问题很有可能是大佬现在活字格连接的数据表,然后去外联库修改了字段

这样的话,大佬可以再控制设计器中刷新表或者重新获取字段类型来重新测试下~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部