Db2问题 如下应当如何解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Db2问题 如下应当如何解决相关的知识,希望对你有一定的参考价值。

CREATE UNIQUE INDEX DOC_READ_DOCFOLD2 ON "EGOVDOC2"."DOC_READ_DOCFOLD" USING BTREE ( "DOC_UUID","FOLDUUID","ISUUID","DOC_REACH_DATE","DOC_HAD_READ") TABLESPACE "SYSTEM"
DB21034E 该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0104N 在 ""."DOC_READ_DOCFOLD"" 后面找到异常标记
"USING"。预期标记可能包括:"."。 SQLSTATE=42601

CREATE UNIQUE INDEX IDXREADDOCFLOD ON "EGOVDOC2"."DOC_READ_DOCFOLD" USING BTREE ( "DOC_UUID","FOLDUUID","ISUUID","DOC_DISTRIBUTE_DATE","DOC_HAD_DISTRIBUTE") TABLESPACE "SYSTEM"
DB21034E 该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0104N 在 ""."DOC_READ_DOCFOLD"" 后面找到异常标记
"USING"。预期标记可能包括:"."。 SQLSTATE=42601
CREATE TABLE "MSG_OPEN_TYPE"( "UUID" INTEGER NOT NULL , "OPINION" VARCHAR (500), "DOCUUID" VARCHAR (64), "THETIME" TIMESTAMP (6), "PERSONNAME" VARCHAR (200), "PERSONUUID" VARCHAR (64), CONSTRAINT "PK_MSG_ID" PRIMARY KEY ("UUID") )
DB21034E 该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0104N 在 "CHAR (64), "THETIME"" 后面找到异常标记
"TIMESTAMP"。预期标记可能包括:"CHARACTER"。 SQLSTATE=42601

参考技术A DB2提供了三种存储日期和时间数据类型:

日期占4个字节4个字节

TIMESTAMP时间占占12个字节

注意!这些数据类型在数据库中存储的值作为内部格式;
应用程序作为一个字符串操作。检索这些数据类型之一,它被表示为一个字符串。
更新这些数据类型,该值用引号括起来。

DB2提供了内置的功能操作日期和时间值。
例如,您可以使用的DAYOFWEEK,或DAYNAME函数来确定一个日期值的一周。
DAYS函数计算两个日期之间的天数之间的差异。
DB2专用寄存器时钟产生的时间 - 日期,当前日期,时间或时间戳记。
例如,当前日期返回一个字符串,指示系统的当前日期。

日期和时间值的格式取决于在创建数据库时指定的数据库的国家代码。
有几个可用的格式:ISO,美国,欧元,和JIS。
例如,如果使用美国格式的数据库,然后将日期值的格式是MM / DD / YYYY。
创建应用程序,你可以使用DATETIME选项来改变BIND命令的格式。

TIMESTAMP数据类型是只有一种格式。该字符串表示形式为YYYY-MM-DD-hh.mm.ss.nnnnnn。

不知道为什么你写了一个TIMESTAMP(6)
参考技术B DB2 提供了三种存储日期和时间的数据类型:

DATE 占4个字节
TIME 占4个字节
TIMESTAMP 占12个字节

注意!这些数据类型的值在数据库中存储为一种内部格式;
但是应用程序可以将其作为字符串操纵。在检索这些数据类型之一时,它被表示为字符串。
在更新这些数据类型时,将值包围在引号中。

DB2 提供了操纵日期时间值的内置函数。
例如,可以使用 DAYOFWEEK 或 DAYNAME 函数判断一个日期值是星期几。
使用 DAYS 函数计算两个日期之间相差多少天。
DB2 还提供了特殊寄存器以根据时间-日期时钟生成当前日期、时间或时间戳。
例如,CURRENT DATE 返回一个表示系统上的当前日期的字符串。

日期和时间值的格式取决于在创建数据库时指定的数据库国家编码。
有几种可用的格式:ISO、USA、EUR 和 JIS。
例如,如果数据库使用 USA 格式,那么日期值的格式是 mm/dd/yyyy。
在创建应用程序时,可以使用 BIND 命令的 DATETIME 选项改变格式。

TIMESTAMP 数据类型只有一种格式。字符串表示是 yyyy-mm-dd-hh.mm.ss.nnnnnn。

不知道为啥, 你那里写了一个 TIMESTAMP (6)

如何解决“java.library.path 中没有 db_java-6.2”问题?

【中文标题】如何解决“java.library.path 中没有 db_java-6.2”问题?【英文标题】:How can resolve "no db_java-6.2 in java.library.path" issue? 【发布时间】:2018-04-05 10:01:58 【问题描述】:

我在 Linux(Ubuntu-eclipse) 环境中使用 Oracle BDB XML java API 开始了一个项目。

我继续安装如下:

> cd dbxml-6.1.4

> sh buildall.sh --enable-java

> sh buildall.sh --build-one-berkeleydb

> sh buildall.sh --build-one-dbxml

enter image description here

之后,我将jar文件导入到项目中,如上图所示。

至少到目前为止没有问题。

但是,当我编译后运行程序时,出现以下错误。

enter image description here

我在 Google 上搜索“java.lang.library.path 中没有 db_java-6.2”并试图解决问题,

但我还没有找到明确的解决方案。

感谢任何建议,所以请给我一些有用的建议。

【问题讨论】:

【参考方案1】:

从 db-xml 源构建后,您是否在输出位置找到 libdb_java-6.2.so?如果是,请将 libdb_java-6.2.so 所在目录的路径添加到 JRE 可以找到的搜索路径中。在您的情况下(看起来您使用的是 Eclipse),在Java Build Path --> Libraries 选项卡上,展开JRE System Library 节点,编辑Native Library Location,在Native Library Location 中添加libdb_java-6.2.so 的目录路径

【讨论】:

非常感谢

以上是关于Db2问题 如下应当如何解决的主要内容,如果未能解决你的问题,请参考以下文章

在 DB2 中创建表抛出 BOOLEAN data type is not supported 错误。知道如何解决这个问题吗?

db2锁表解决

无法定位序数4444于动态链接库libcurl.dll应当如何解决?

DB2报错SQLSTATE=42601,怎么解决

db2 数据库报 -803 错误怎么解决?

如何将 DB2 触发器转换为 SQL Server?