为什么在 DB2 数据库上使用 JTOpen 时,Netbeans 8.1 数据库结果不允许 CrUD 或 "Show SQL" 操作?
Why does Netbeans 8.1 database results not allow CrUD or "Show SQL" operations when using JTOpen on a DB2 database?
任何人都知道为什么 Netbeans IDE 的数据库结果浏览器禁用 CrUD 操作和 "Show SQL 'CrUD' Operation" 当通过 JTOpen 9.1 驱动程序使用 JDBC 连接到带有 Netbeans 的 DB2 for i 数据库时 "Show SQL 'CrUD' Operation" 8.1?
JTOpen 是 IBM i DB2 for i 数据库的开源 JDBC 驱动程序,此外还有一堆 Java 类 用于与 IBMi 系统交互。 http://jt400.sourceforge.net/
我尝试了一些 JDBC 连接属性,但没有雪茄...
我想我必须继续浏览 IBM 知识库
http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahh/jdbcproperties.htm
和 JT400 源
https://github.com/devjunix/libjt400-java/blob/master/src/com/ibm/as400/access/JDProperties.java
许多 DB2 for i 系统配置为不使用提交控制或日志记录。这不是许多工具包期望看到的。尝试更改连接字符串以告诉 Netbeans 您不需要提交控制。
原始图像仅显示一些只读操作的最明显原因似乎是连接的 "access" 属性;即,如果设置为 "read only",那将限制对 SELECT 语句的访问。但是随着显示连接属性的新信息,似乎 readOnly=false,因此 "access" 属性不应该是问题的根源。
我怀疑对于任何给定的 TABLE,问题可能是因为缺少 PRIMARY KEY CONSTRAINT;即 IIRC,某些客户端数据库应用程序可能会阻止特定 TABLE 的可更新模式,如果不知道 TABLE 具有 PK。
在连接属性中添加 "extended metadata=true" 解决了我的问题。
此处为 IBM 文档http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahh/jdbcproperties.htm
"extended metadata"
Specifies whether the driver requests extended metadata from the
server. Setting this property to true increases the accuracy of the
information returned from the following ResultSetMetaData methods:
getColumnLabel(int) isReadOnly(int) isSearchable(int) isWriteable(int)
显然结果集只读被错误地假定为真,除非分机。元数据返回 isReadOnly(int) 的实际值。我猜它假定为假,因为在初始连接上,连接 属性 "Read Only" 为真。了解系统上的什么设置或 Library/Schema 导致连接具有 属性.
会很有帮助
任何人都知道为什么 Netbeans IDE 的数据库结果浏览器禁用 CrUD 操作和 "Show SQL 'CrUD' Operation" 当通过 JTOpen 9.1 驱动程序使用 JDBC 连接到带有 Netbeans 的 DB2 for i 数据库时 "Show SQL 'CrUD' Operation" 8.1?
JTOpen 是 IBM i DB2 for i 数据库的开源 JDBC 驱动程序,此外还有一堆 Java 类 用于与 IBMi 系统交互。 http://jt400.sourceforge.net/
我尝试了一些 JDBC 连接属性,但没有雪茄...
我想我必须继续浏览 IBM 知识库 http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahh/jdbcproperties.htm
和 JT400 源 https://github.com/devjunix/libjt400-java/blob/master/src/com/ibm/as400/access/JDProperties.java
许多 DB2 for i 系统配置为不使用提交控制或日志记录。这不是许多工具包期望看到的。尝试更改连接字符串以告诉 Netbeans 您不需要提交控制。
原始图像仅显示一些只读操作的最明显原因似乎是连接的 "access" 属性;即,如果设置为 "read only",那将限制对 SELECT 语句的访问。但是随着显示连接属性的新信息,似乎 readOnly=false,因此 "access" 属性不应该是问题的根源。
我怀疑对于任何给定的 TABLE,问题可能是因为缺少 PRIMARY KEY CONSTRAINT;即 IIRC,某些客户端数据库应用程序可能会阻止特定 TABLE 的可更新模式,如果不知道 TABLE 具有 PK。
在连接属性中添加 "extended metadata=true" 解决了我的问题。
此处为 IBM 文档http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahh/jdbcproperties.htm
"extended metadata"
Specifies whether the driver requests extended metadata from the server. Setting this property to true increases the accuracy of the information returned from the following ResultSetMetaData methods: getColumnLabel(int) isReadOnly(int) isSearchable(int) isWriteable(int)
显然结果集只读被错误地假定为真,除非分机。元数据返回 isReadOnly(int) 的实际值。我猜它假定为假,因为在初始连接上,连接 属性 "Read Only" 为真。了解系统上的什么设置或 Library/Schema 导致连接具有 属性.
会很有帮助