ssis—通过odbc批量加载配置单元表

hivapdat  于 2021-06-27  发布在  Hive
关注(0)|答案(0)|浏览(798)

我正在尝试将ssis包移植到目标配置单元而不是db2。我在使用odbc目标任务时遇到问题 hortonworks公司 配置单元odbc。我以前尝试过microsoft odbc,但未能创建有效的插入查询。
我阅读了“利用SQLServerIntegrationServices中的hadoop集群”文档,其中提到从odbc写入hive是不可能的,但该文档来自2013年。
问题是:我有一个带有oledb源(db2)和odbc目标(hive)的数据流任务。如果我将odbc目标设置为“逐行”,那么加载将按预期完成。但是,如果将其设置为“batch”,则只会收到以下错误:
错误:0x384将令牌推送到配置单元,odbc目标[2]:发生开放数据库连接(odbc)错误。sqlexecute在插入第1行时返回错误
我已经从有问题的任务中附加了odbc跟踪。我希望在跟踪中看到一个SQLExecuteSql\u错误,但似乎没有。
这甚至可以通过odbc实现吗?或者我需要使用hdfs destination后跟一个hive任务吗?

DtsDebugHost    1e9c-2488   ENTER SQLPrepareW 
        HSTMT               0x08D45108
        WCHAR *             0x0583CEE4 [      86] "INSERT INTO `default`.`temp_000000000000_return` ( `link_id`,`tok_data`) VALUES (?, ?)"
        SDWORD                    86

DtsDebugHost    1e9c-2488   EXIT  SQLPrepareW  with return code 0 (SQL_SUCCESS)
        HSTMT               0x08D45108
        WCHAR *             0x0583CEE4 [      86] "INSERT INTO `default`.`temp_000000000000_return` ( `link_id`,`tok_data`) VALUES (?, ?)"
        SDWORD                    86

DtsDebugHost    1e9c-2488   ENTER SQLSetStmtAttrW 
        SQLHSTMT            0x08D45108
        SQLINTEGER                  21 <SQL_ATTR_PARAMS_PROCESSED_PTR>
        SQLPOINTER          0x057D8578
        SQLINTEGER                   0 

DtsDebugHost    1e9c-2488   EXIT  SQLSetStmtAttrW  with return code 0 (SQL_SUCCESS)
        SQLHSTMT            0x08D45108
        SQLINTEGER                  21 <SQL_ATTR_PARAMS_PROCESSED_PTR>
        SQLPOINTER          0x057D8578
        SQLINTEGER                   0 

DtsDebugHost    1e9c-2488   ENTER SQLSetStmtAttrW 
        SQLHSTMT            0x08D45108
        SQLINTEGER                  20 <SQL_ATTR_PARAM_STATUS_PTR>
        SQLPOINTER          0x084B4158
        SQLINTEGER                   0 

DtsDebugHost    1e9c-2488   EXIT  SQLSetStmtAttrW  with return code 0 (SQL_SUCCESS)
        SQLHSTMT            0x08D45108
        SQLINTEGER                  20 <SQL_ATTR_PARAM_STATUS_PTR>
        SQLPOINTER          0x084B4158
        SQLINTEGER                   0 

DtsDebugHost    1e9c-2488   ENTER SQLBindParameter 
        HSTMT               0x08D45108
        UWORD                        1 
        SWORD                        1 <SQL_PARAM_INPUT>
        SWORD                      -16 <SQL_C_SLONG>
        SWORD                        4 <SQL_INTEGER>
        SQLULEN                   10
        SWORD                        0 
        PTR                0x08316178
        SQLLEN                     4
        SQLLEN *            0x08315F98

DtsDebugHost    1e9c-2488   EXIT  SQLBindParameter  with return code 0 (SQL_SUCCESS)
        HSTMT               0x08D45108
        UWORD                        1 
        SWORD                        1 <SQL_PARAM_INPUT>
        SWORD                      -16 <SQL_C_SLONG>
        SWORD                        4 <SQL_INTEGER>
        SQLULEN                   10
        SWORD                        0 
        PTR                0x08316178
        SQLLEN                     4
        SQLLEN *            0x08315F98 (137452312)

DtsDebugHost    1e9c-2488   ENTER SQLBindParameter 
        HSTMT               0x08D45108
        UWORD                        2 
        SWORD                        1 <SQL_PARAM_INPUT>
        SWORD                       -8 <SQL_C_WCHAR>
        SWORD                       -8 <SQL_WCHAR>
        SQLULEN                   35
        SWORD                        0 
        PTR                0x057F85C8
        SQLLEN                    72
        SQLLEN *            0x08315FB8

DtsDebugHost    1e9c-2488   EXIT  SQLBindParameter  with return code 0 (SQL_SUCCESS)
        HSTMT               0x08D45108
        UWORD                        2 
        SWORD                        1 <SQL_PARAM_INPUT>
        SWORD                       -8 <SQL_C_WCHAR>
        SWORD                       -8 <SQL_WCHAR>
        SQLULEN                   35
        SWORD                        0 
        PTR                0x057F85C8
        SQLLEN                    72
        SQLLEN *            0x08315FB8 (137452312)

DtsDebugHost    1e9c-2c5c   ENTER SQLExecute 
        HSTMT               0x08D45108

DtsDebugHost    1e9c-2c5c   EXIT  SQLExecute  with return code 0 (SQL_SUCCESS)
        HSTMT               0x08D45108

DtsDebugHost    1e9c-2c5c   ENTER SQLGetDiagRecW 
        SQLSMALLINT                  3 <SQL_HANDLE_STMT>
        SQLHANDLE           0x08D45108
        SQLSMALLINT                  1 
        SQLWCHAR *          0x0927EFA0
        SQLINTEGER *        0x0927D784
        SQLWCHAR *          0x0927DF98 
        SQLSMALLINT               1024 
        SQLSMALLINT *       0x0927D788

DtsDebugHost    1e9c-2c5c   EXIT  SQLGetDiagRecW  with return code 100 (SQL_NO_DATA_FOUND)
        SQLSMALLINT                  3 <SQL_HANDLE_STMT>
        SQLHANDLE           0x08D45108
        SQLSMALLINT                  1 
        SQLWCHAR *          0x0927EFA0
        SQLINTEGER *        0x0927D784
        SQLWCHAR *          0x0927DF98 
        SQLSMALLINT               1024 
        SQLSMALLINT *       0x0927D788

DtsDebugHost    1e9c-2488   ENTER SQLFreeHandle 
        SQLSMALLINT                  3 <SQL_HANDLE_STMT>
        SQLHANDLE           0x08D45108

DtsDebugHost    1e9c-2488   EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  3 <SQL_HANDLE_STMT>
        SQLHANDLE           0x08D45108

DtsDebugHost    1e9c-2488   ENTER SQLDisconnect 
        HDBC                0x0254EBD8

DtsDebugHost    1e9c-2488   EXIT  SQLDisconnect  with return code 0 (SQL_SUCCESS)
        HDBC                0x0254EBD8

DtsDebugHost    1e9c-2488   ENTER SQLFreeHandle 
        SQLSMALLINT                  2 <SQL_HANDLE_DBC>
        SQLHANDLE           0x0254EBD8

DtsDebugHost    1e9c-2488   EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  2 <SQL_HANDLE_DBC>
        SQLHANDLE           0x0254EBD8

DtsDebugHost    1e9c-2488   ENTER SQLFreeHandle 
        SQLSMALLINT                  1 <SQL_HANDLE_ENV>
        SQLHANDLE           0x0254E748

DtsDebugHost    1e9c-2488   EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  1 <SQL_HANDLE_ENV>
        SQLHANDLE           0x0254E748

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题