This commit is contained in:
2021-06-25 11:30:31 +08:00
parent 4878541b65
commit fa9385a064
4 changed files with 43 additions and 63 deletions

View File

@@ -445,8 +445,6 @@ public class DataImport
Class.forName( "oracle.jdbc.driver.OracleDriver" );
callStmt = oracleConnection.prepareCall( callProcedureSql );
oracleConnection.setAutoCommit( false );
for ( TelsalePolicyRecord recordIterator : policyList )
{
callStmt.setString( 1, recordIterator.getPolicyNo() );
@@ -558,38 +556,45 @@ public class DataImport
" today)";
statement = conn.prepareStatement( insertSQL );
statement = conn.prepareStatement( insertSQL );
for ( TelsalePolicyRecord recordIterator : policyList )
for ( TelsalePolicyRecord recordIterator : policyList )
{
statement.setString( 1, recordIterator.getPolicyNo() );
statement.setString( 2, recordIterator.getOperatorCode() );
statement.setString( 3, recordIterator.getOperatorName() );
statement.setString( 4, recordIterator.getOperatorSectionOfficeCode() );
statement.setString( 5, recordIterator.getOperatorSectionOfficeName() );
statement.setString( 6, recordIterator.getOperatorDepartmentCode() );
statement.setString( 7, recordIterator.getOperatorDepartmentName() );
try
{
statement.setString( 1, recordIterator.getPolicyNo() );
statement.setString( 2, recordIterator.getOperatorCode() );
statement.setString( 3, recordIterator.getOperatorName() );
statement.setString( 4, recordIterator.getOperatorSectionOfficeCode() );
statement.setString( 5, recordIterator.getOperatorSectionOfficeName() );
statement.setString( 6, recordIterator.getOperatorDepartmentCode() );
statement.setString( 7, recordIterator.getOperatorDepartmentName() );
try
{
statement.execute();
}
catch ( SQLException error )
{
//捕捉写入错误
errorMessage += "保单号" +
recordIterator.getPolicyNo() +
"保存失败,错误提示:" +
error.getMessage() + "<br>\n";
errorCount++;
}
statement.execute();
}
catch ( SQLException error )
{
//捕捉写入错误
errorMessage += "保单号" +
recordIterator.getPolicyNo() +
"保存失败,错误提示:" +
error.getMessage() + "<br>\n";
errorCount++;
}
}
//检查错误数量,如果有错误就抛出异常
if ( errorCount > 0 )
{
throw new TelsalePolicyDataSaveToInformixException( errorMessage );
}
}
/**
* @Description:
* @Description: 读取excel文件将数据写入oracle和informix数据库。
* 数据库连接关闭自动提交,在两个数据库都写入成功后提交。
* 只要有一个数据库写入抛出异常,回滚两个数据库的事务。
* @Param:
* @return: void
* @Author: 王炜
@@ -624,8 +629,15 @@ public class DataImport
try
{
//saveTelsalePolicyDataToOracle( oracleConnection, policyList );
oracleConnection.setAutoCommit( false );
informixConnection.setAutoCommit( false );
saveTelsalePolicyDataToOracle( oracleConnection, policyList );
saveTelsalePolicyDataToInformix( informixConnection, policyList );
oracleConnection.commit();
informixConnection.commit();
}
catch ( Exception error )
{
@@ -635,22 +647,6 @@ public class DataImport
throw new TelsalePolicyDataSaveToDatabaseException( error.getMessage() );
}
// catch ( TelsalePolicyDataSaveToInformixException error )
// {
// //写入informix错误回滚两个数据库再抛出异常
// oracleConnection.rollback();
// informixConnection.rollback();
//
// throw new TelsalePolicyDataSaveToDatabaseException( error.getMessage() );
// }
// catch (SQLException error )
// {
// //任何其他sql错误回滚两个数据库再抛出异常
// oracleConnection.rollback();
// informixConnection.rollback();
//
// throw error;
// }
finally
{
//无论如何要关闭连接

View File

@@ -37,7 +37,7 @@
</context-param>
<context-param>
<param-name>dxbd_test</param-name>
<param-value>jdbc:informix-sqli://10.39.0.92:9096/ywgl_xm:INFORMIXSERVER=pxmcx2;newcodeset=GBK,8859-1,819;user=ccx99;password=ct0IT17!</param-value>
<param-value>jdbc:informix-sqli://10.39.0.92:16192/ywgl_xm:INFORMIXSERVER=xmcx2;newcodeset=GBK,8859-1,819;user=ccx99;password=c92IT09</param-value>
</context-param>
<context-param>
<param-name>ora_telsale_url</param-name>