Datastage 9.1 生成报错

0
背景如下:
作业一共3个stage:
ODBC--> Copy-->sequential File
ODBC连接的是sqlserver 2008,没有任何逻辑,读表,然后生成文件,文件比较大,最终的文件有1.2G
 
问题:
JOB是正常跑完了,显示绿色,但是日志中有这么一段,报错信息如下:OD_SIMDB_LV_QM_MaintenanceRecords: ODBC function "SQLFreeHandle(SQL_HANDLE_STMT)" reported:  SQLSTATE = 08S01: Native Error Code = 0: Msg = [IBM(DataDirect OEM)][ODBC SQL Server Wire Protocol driver]Socket closed. (CC_OdbcDBStatement::~CC_OdbcDBStatement, file CC_OdbcDBStatement.cpp, line 223)
ODBC function "SQLEndTran(SQL_ROLLBACK)" reported:  SQLSTATE = HY000: Native Error Code = 0: Msg = [IBM(DataDirect OEM)][ODBC SQL Server Wire Protocol driver]General error. NULL UtilityStmt (CC_OdbcConnection::rollback, file CC_OdbcConnection.cpp, line 1,237)
已邀请:
0

BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-10-14 回答

找到一贴,不知道你试过没有?
http://www-01.ibm.com/support/docview.wss?uid=swg21615944

Cause

- ODBC driver waits for 15 seconds for a connection to be established before returning control to the application and generating a timeout error, by default LoginTimeout is set to 15 seconds and the DataStage job fails when ODBC driver to SQL server times out.

- Once ODBC driver establishes connection to database SQL query does not time out because by default driver QueryTimeout is set to 0, but the driver responds to the SQL_ATTR_QUERY_TIMEOUT attribute on the SQLSetStmtAttr() function when query whose execution exceeds an interval set by the application and will result in SQLSTATE 01S02 (Communication link failure) error.

Resolving the problem

To resolve "Communication link failure" issue in DataStage job, add below two parameters to ODBC driver in ODBC configuration file .odbc.ini under $DSHOME path.
LoginTimeout=-1
QueryTimeout=-1

要回复问题请先登录注册