我目前正在尝试使用dashDB数据库和db2cli实用工具(值来自dashDB web控制台上的连接/连接信息)。此时,我可以很好地执行SELECT或INSERT语句,并从我创建的自定义表中获取数据,这要归功于命令:
db2cli execsql -connstring "DRIVER={IBM DB2 ODBC DRIVER - IBMDBCL1}; DATABASE=BLUDB; HOSTNAME=yp-dashdb-small-01-lon02.services.eu-gb.bluemix.net; PORT=50000; PROTOCOL=TCPIP; UID=xxxxxx; PWD=xxxxxx" -inputsql /tmp/input.sql现在,我正试图通过DB2实用程序执行db2cli加载操作,但我不知道如何继续操作,甚至不知道是否可以这样做。其目的是从文件中导入数据,而不对我的DB2 dashDB数据库进行编目,但只能通过ODBC。有人知道这种操作是否可能(使用db2cli或其他实用程序)吗?
发布于 2016-09-28 14:09:19
这是不可能的LOAD不是SQL语句,因此它不能通过诸如ODBC这样的DB2接口执行,只能使用DB2 CLP,而后者又需要一个编目的数据库。
ADMIN_CMD()可以通过SQL接口调用,但是它要求输入文件位于服务器上--它不能处理存储在工作站上的文件。
如果JDBC是一个选项,则可以使用命令。
发布于 2018-10-02 15:22:31
DB2 on Cloud (ex DashDB)仪表板中引用的最新API版本是可用的这里。它首先需要调用/ auth /tokens端点来基于您的Bluemix凭据生成auth令牌,用于授权API调用。
我最近发布了一个npm模块-- DB2-rest-客户机 --以简化这些操作的使用。例如,要从.csv文件加载数据,可以使用以下命令:
# install the module globally
npm i db2-rest-client -g
# call the load job
export DB_USERID='<USERID>'
export DB_PASSWORD='<PASSWORD>'
export DB_URI='https://<HOSTNAME>/dbapi/v3'
export DEBUG=db2-rest-client:cli
db2-rest-client load --file=mydata.csv --table='MY_TABLE' --schema='MY_SCHEMA'对于load作业,专门针对一个70 job源文件和大约400万行的Bluemix测试需要大约4分钟的时间来加载。还有其他CLI选项,如执行导出语句、逗号分隔语句和上载文件。
发布于 2016-09-28 08:12:06
您可以尝试使用REST API加载数据。
示例:
curl --user dashXXX:XXXXXX -H "Content-Type: multipart/form-data" -X POST -F loadFile1=@"/home/yogesh/Downloads/datasets/order_details_0.csv" "https://yp-dashdb-small-01-lon02.services.eu-gb.bluemix.net:8443/dashdb-api/load/local/del/dashXXX.ORDER_DETAILS?hasHeaderRow=true×tampFormat=YYYY-MM-DD%20HH:MM:SS.U"https://stackoverflow.com/questions/39740976
复制相似问题