3

我希望将数百万行批量加载到 DashDB 数据库中。使用 DB2 CLI 连接后,我输入如下命令:

db2 import from rowsToImport.csv of del insert into MY_TABLE

结果:

SQL0551N  "DASHXXX" does not have the required authorization or privilege to
perform operation "BIND" on object "NULLID.SQLUAJ19".  SQLSTATE=42501

这是 DashDB 的固有限制,还是我的客户端配置不正确?尝试时收到类似的消息db2 load

SQL2019N  An error occurred while utilities were being bound to the database.

ps 我知道用于加载数据的 DashDB 的其余客户端 api - 我特别询问如何/是否可以使用 DB2 命令行作为替代选项来完成批量加载。

4

2 回答 2

3

根据dashDB 文档,您可以使用Command line processor plus (CLPPlus)。它包含在 dashDB 驱动程序包中,并提供了一个命令行用户界面,您可以使用该界面连接到 dashDB 数据库 BLUDB。您可以使用 CLPPlus 来定义、编辑和运行语句、脚本和命令。另请查看将 CLPPlus 连接到 dashDB 数据库以了解如何连接和使用 CLI。

请注意,在 CLPPlus 中:IMPORT、EXPORT 和 LOAD 命令有一个限制,即处理的文件必须在服务器上:请参阅此处。因此,您应该首先使用 SCP 将输入加载文件复制到远程服务器上。但是,对于普通的 dashDB 用户,应该阻止(不可访问)SSH/SCP 协议。

只能使用CLPPlus 中的IDA LOADGEOSPATIALDATA 命令将地理空间数据从本地计算机加载到 dashDB 。使用上述命令在 dashDB 中加载的文件可以位于本地文件系统中,可供 CLPPlus 用户访问。

替代方法是:

于 2016-03-30T05:59:17.910 回答
2

根据这个技术说明,包 NULLID.SQLUAJ19 属于早期的 DB2 10.1 修复包之一,所以我怀疑您的客户端版本是 10.1。当尝试执行IMPORT命令时,它需要绑定该旧版本的一些包,因为 dashDB 显然是 DB2 10.5。

您可能想尝试安装最新的 DB2 客户端修订包,因为必要的包可能已经绑定在数据库中。

为了验证您是否可以运行select pkgname from syscat.packages where pkgschema = 'NULLID' and pkgname like 'SQLUA%'——您应该看到“SQLUAK20”,它似乎是 DB2 10.5 中的相应包。

如果这不起作用,您的另一个选择可能是移动到专用的 dashDB 实例,因为您将没有足够的权限来绑定入门级共享 dashDB 服务中缺少的包。

于 2016-03-30T14:38:40.207 回答