问题标签 [db2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
920 浏览

shell - 管道时,Awk 似乎断开了我的 DB2 会话

我正在尝试在 KornShell (ksh) 中运行以下命令:

我试图实现的是将特定表上的索引列表放入一个数组中,稍后我可以遍历该数组。

问题是,当我运行上述命令时,数组的内容以“SQL1024N”的错误消息开头(这告诉我数据库连接不存在)。

但是,如果我这样删除awk语句末尾的 :

它工作得很好(嗯,在某种程度上它正在返回数据。显然没有awk我没有捕获正确的数据)。

有谁知道为什么awk会有这种影响?

我很欣赏有不止一种方法可以获取这些数据,但它让我困惑为什么会发生这种情况。

提前致谢。

0 投票
6 回答
889 浏览

sql - 将表从一个数据库复制到另一个

我正在尝试将我的一些表存档到同一服务器上的另一个数据库中。但是 INSERT INTO...SELECT...FROM 在构建时给了我一个错误(SQLSTATE = 42704)。该表存在于第二个数据库中。有人能帮忙吗?

0 投票
2 回答
308 浏览

java - 使用 SP 克隆数据库记录的最佳方法

我必须编写代码来克隆具有其他表中关联数据的数据库条目并为其分配一个新 ID。简化后,我有一个主表,其键为 ID,子表说 SUB1,ID 为 FK,MAIN 中的每个条目都有多个记录。
我想将 MAIN 中特定 ID 的数据复制到新记录中,将 ID 更新为新值,以允许现有条目及时保留为快照,新条目成为正在进行的新工作。

我正在寻找使用存储过程,并且想知道是否可能/建议拥有一个调用其他 SP 来执行工作的高级 SP?

例如

我看到 CopyNewSub1Records 类似于

所以我的问题是,是否可以将来自 CopyNewMainRecord 的 newID 的 OUT 与 IN 中的 CopyNewSub1Records 相同,并且我可以在调用插入 SP 时使用来自 CopyNewSub1Records 中的 Get SP 的多行的结果集进行循环吗?

我目前正在等待 DB Admin 授予在我们的 DB2 环境中创建 SP 的权利,所以这就是为什么我要问而不是尝试这样做。

0 投票
4 回答
276 浏览

sql - 将局部变量的内容写回结果集列?

是否可以通过使用存储过程将整数列值从结果集中提取到局部变量中,在那里对其进行操作,然后将其写回结果集的列?

如果是这样,语法会是什么样子?

0 投票
2 回答
245 浏览

sql - DB2 关系表

是否可以创建一个数据库,使得数据库中有 2 个跨 2 个不同模式的表相互引用?

我想用一个例子来澄清我的问题。

考虑表格EMPLOYEE (empID, empName, deptId)DEPARTMENT (deptId, deptName)。我们可以对EMPLOYEE.deptId. 在这种情况下,我可以让这两个表跨越两个不同的模式并且仍然施加约束吗?

0 投票
1 回答
2188 浏览

nhibernate - NHibernate - 将 ID 映射到 DB2 身份

我对 NHibernate 很陌生,并且正在尝试通过 ISeries 提供程序连接到 DB2 表。该表有一个作为身份自动生成的 BIGINT 主键。我在映射文件中为 id 的生成器属性尝试了几个值,但都没有成功。表 def 如下所示(字段名称已更改):

映射文件如下所示:

起初,我将生成器类设置为“native”,根据文档,它为 DB2 选择“identity”。使用“本机”或“身份”,当我将生成器类更改为各种其他值时,我得到“PKID 列中不允许空值”以及各种其他错误。

我确定文档中缺少一些小东西,但是有什么方法可以让 NHibernate 获取主键的下一个值,它是 DB2 中的 GENERATED IDENTITY 并在我调用时为我处理它节省()?我是否需要在 NHibernate 可以用来获取下一个值的地方写一个选择?

提前致谢。

0 投票
2 回答
1315 浏览

c - 同时连接 32 位 DB2 和 64 位 DB2 的 C/C++ 程序

是否有可能在 *IX 操作系统中成功编写一个同时在 32 位和 64 位 DB2 实现上运行的 C/C++ 程序?

确切的要求是从 32 位 DB2 数据库读取并写入 64 位 DB2 数据库。

0 投票
11 回答
107807 浏览

db2 - 在 DB2 中显示一个表的定义

大家好,我正在学习 DB2,想知道创建表后如何查看表的特征。

类似于 MySQL 中的 EXPLAIN TABLE 命令。

谢谢你。

0 投票
3 回答
3301 浏览

stored-procedures - 用 SQL 和 Java 编写 DB2 存储过程的优缺点是什么?

使用较新版本的 DB2,您可以用 SQL 编写存储过程,也可以用 Java(或其他语言)创建过程,然后可以将其添加到数据库中并像 SQL 过程一样调用。我想知道每种方法的优缺点是什么。我对比较这两种类型的程序特别感兴趣,而不是争论程序与我认为已经涵盖的外部代码。到目前为止,这是我想出的:

SQL:

  • 基本 SQL 功能的更好性能

  • 简单的逻辑不那么冗长,即可以直接运行 SQL

  • 没有额外的编译步骤 - 只需创建过程......

爪哇:

  • 更结构化和功能齐全的代码(类、对象、重用、库)

  • 在程序员和文档方面提供更好的帮助资源

还有其他想法吗?

0 投票
3 回答
4201 浏览

hibernate - 如何在 Hibernate 中限制数据库级别的用户访问

应用程序

我需要实现一个可供不同用户使用的网络应用程序。每个用户对不同的表有不同的权限,例如

  • 用户 A 可以从表中看到字段“名称”和“地址”Student
  • 用户 B 可以从表中看到字段“姓名”和“电话号码”,但看不到“地址”Student
  • 用户 C 可以查看和修改上述所有字段

  • 我将在 UI 级别有一些东西来限制某些访问,例如为无权修改条目的用户隐藏“编辑”按钮。但是,我认为我应该在较低级别(也许在数据库级别?)只是为了确保数据安全。


    问题

    我正在为我的应用程序使用 Hibernate、JBoss、DB2 和 Struts。我想我应该使用某种 JBoss LoginModule,它使用用户/密码/角色对数据库进行用户身份验证(但我可能错了(?))。我做了一些研究并提出了以下选项,但似乎没有一个适合我的情况。我认为这是多用户 Web 应用程序中非常常见的数据访问问题。有人可以指出我正确的方向吗?先感谢您!

    1. hibernate.cfg.xml在JACC 事件监听器中使用“grant”标签。这可以对所有休眠实体设置“插入”“更新”“读取”权限。但是,如果我需要更精细的控制怎么办?我需要对某些字段而不是整个对象设置权限。http://www.hibernate.org/hib_docs/v3/reference/en-US/html/objectstate-decl-security.html

    2. 限制每个 ejb 的 getter/setter 方法的权限。如果我理解正确,这需要为每个用户配置文件手动配置每个 bean,这对我来说似乎不现实。 EJB 方法权限

    3. 对 DAO 进行编码以检查用户权限。滚动我自己的实用函数,每次调用特定的 DAO 方法时检查一个巨大的权限表,以确定登录用户是否可以执行该操作。

    4. 在 Hibernate 中使用“拦截器”和“事件”。为每个类定义特定的“onLoad”、“onSaveorUpdate”等事件和拦截器。在这种情况下,我可以为各个字段指定权限级别吗?http://www.hibernate.org/hib_docs/v3/reference/en-US/html/objectstate-events.html

    我可能是对着错误的树吠叫。以上所有似乎都是劳动密集型的,不是很聪明。以上选项都没有为我提供在运行时更改用户权限的编程方式,当管理员级别的用户想要在此应用程序中给予其他用户更多控制权时,这将很有用。


    在这里进行数据访问控制的好方法是什么?