可以使用db2导入或加载来填充DashDB吗?

时间:2016-03-30 01:05:59

标签: db2 ibm-cloud dashdb

我希望将数百万行批量加载到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.

P.S。我知道DashDB的其余客户端api用于加载数据 - 我特别询问如何使用DB2命令行作为备用选项来完成批量加载。

2 个答案:

答案 0 :(得分:3)

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

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

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

这样做的替代方法是:

答案 1 :(得分:2)

根据this technote,程序包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服务中缺少的包。