내 응용 프로그램은 닷넷 기반입니다. VS를 사용하고 있습니다. 내 응용 프로그램은 백엔드에서 IBm DB2를 사용합니다. 내 쿼리 코드 -DB2DataAdapter.Fill (dataset)은 "SQL0901N (이유"CPF4273 ")을 던졌습니다. SQLSTATE = 58004"
DB2DataAdapter dbAdapter = null;
DB2Connection dbConn = null;
DB2Command dbCommand;
DataSet dsReturnDataSet ;
dbConn = new DB2Connection(connectionString);
if (dbConn.State == ConnectionState.Closed) dbConn.Open();
dsReturnDataSet.Clear();
dbCommand = GetCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConn;
dbAdapter = new DB2DataAdapter((DB2Command)dbCommand);
dbAdapter.Fill(dsReturnDataSet);
return dsReturnDataSet;
SELECT A, B FROM SERVER.D WHERE A IN
(SELECT C FROM SERVER.E WHERE X = '01OBPP' AND Y= 'U' AND Z= '1')
A, B, C, X, Y, Z-열 이름 서버 - 서버 이름, D 및 E -table NAME
PFB 인 이 선에 도달하는 동안
GetCommand() 메소드는 다음과 같은 성명
DB2Command dbCommand;
dbCommand = null;
dbCommand = new DB2Command();
dbCommand.CommandType = CommandType.Text;
dbCommand.CommandTimeout = 30;
return dbCommand;
있다 'dbAdapter.Fill (dsReturnDataSet를);' 그것은 매우 긴 시간과 오류를
"ERROR [58004] [IBM]를 [AS]를 SQL0901N SQL 문이 실패 때문에 비 심각한 시스템 오류. 후속 SQL 문을 던진다 후이 stucks . 처리 (이유 "CPF4273"). SQLSTATE = 58004 "
어떤 포인터를 입력하세요 될 수있다. 이 오류를 해결하기위한 지침을 제공하는 사람이 있으면 매우 감사드립니다.
안녕하세요, inflagranti, 업데이트 주셔서 감사합니다. SQLLIB를 발견했지만 db2diag.log를 찾을 수 없습니다. 나는 서핑을했는데 내 DIAGPATH가 비어 있고 diaglevel이 3이라는 것을 알았습니다. 어디로 가야하는지, 또는 일부 로컬 장소로의 diagpath를 변경해야하는지에 대한 포인터 그리고 db2diag.log의 결함을 기록하기 위해 Query를 다시 실행해야합니다. // – Ayoti
@Ayoti : 변경 사항을 적용하려면 DB2 서비스를 다시 시작해야합니다. 위의 diaglevel을 3로 설정하지 마십시오. 로그가 채워질 것입니다. 문서를 확인하십시오 ( http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.config.doc%2Fdoc%2Fr0000299.html) 자세한 내용은. –
'(Reason "CPF4273".) 때문에, 이것은 i 용 DB2 원격 데이터베이스라고합니다. 따라서 "db2diag.log"나 "db2dump directory"나 "instance 's sqllib directory"도 없습니다. "CPF4273"은 오류가 발생했으며 이전에 기록 된 모든 메시지를보기 위해 작업 기록부를 검사해야한다는 일반적인 표시입니다. – user2338816