为什么受影响的行数为零?

2020-09-20 22:44发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


Spring应用程序可与数据库Sybase ASE一起使用。

环境:jdk 1.7.0_80,春季4.2.3.RELEASE,

Sybase ASE TEST = Adaptive Server Enterprise/12.5.4/EBF 16800 ESD#10/ase1254/2159/64位

生产 = Adaptive Server Enterprise/15.5/EBF 19399 SMP ESD#5/asear155/2568/64位

JConnection :jconn3.jar和jconn4.jar

此代码适用于数据库:

导入javax.sql.DataSource;

导入java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.util.List;

导入org.springframework.beans.factory.annotation.Autowired;

导入org.springframework.beans.factory.annotation.Qualifier;

导入org.springframework.transaction.annotation.Propagation;

导入org.springframework.transaction.annotation.Transactional;

@Repository(" DAO")

DAO公共类{

@Autowired

@Qualifier(" dataSource")

私有数据源dataSource;

@Autowired私有JdbcTemplate jdbcTemplate;

公共无效setDataSource(DataSource dataSource)

{

this.dataSource = dataSource;

this.jdbcTemplate = new JdbcTemplate(dataSource);

}

public void commit1(字符串值){

int行= jdbcTemplate.update(" UPDATE TABLE SET COLUMN_1 = GETDATE()

WHERE COLUMN_1 =?",值);

System.out.println(" rows =" +行);

}

public void commit2(字符串值){

整数计数= -1;

尝试{

连接con = null;

PreparedStatement ps = null;

尝试{

con = dataSource.getConnection();

ps = con.prepareStatement(" UPDATE TABLE SET COLUMN_1 = GETDATE()

WHERE COLUMN_1 =?");

ps.setString(1,value);

count = ps.executeUpdate();

System.out.println(" rows =" +行);

}

最后{

如果(ps!= null)ps.close();

如果(con!= null)con.close();

}} catch(SQLException ex){}

}

}

生产中的问题:

执行方法commit1(value)或commit2(value)

事实上,我更新了几行,但是使用 jconn4 库,我得到了下一个结果(控制台):

行= 0


jconn3 库我得到下一个(正确的)结果:

行=正确结果(1个或更多)

在具有 jconn3 jconn4 库方法的TEST环境中正确运行:

行=正确结果(1个或更多)

如何解决此问题?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


Spring应用程序可与数据库Sybase ASE一起使用。

环境:jdk 1.7.0_80,春季4.2.3.RELEASE,

Sybase ASE TEST = Adaptive Server Enterprise/12.5.4/EBF 16800 ESD#10/ase1254/2159/64位

生产 = Adaptive Server Enterprise/15.5/EBF 19399 SMP ESD#5/asear155/2568/64位

JConnection :jconn3.jar和jconn4.jar

此代码适用于数据库:

导入javax.sql.DataSource;

导入java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.util.List;

导入org.springframework.beans.factory.annotation.Autowired;

导入org.springframework.beans.factory.annotation.Qualifier;

导入org.springframework.transaction.annotation.Propagation;

导入org.springframework.transaction.annotation.Transactional;

@Repository(" DAO")

DAO公共类{

@Autowired

@Qualifier(" dataSource")

私有数据源dataSource;

@Autowired私有JdbcTemplate jdbcTemplate;

公共无效setDataSource(DataSource dataSource)

{

this.dataSource = dataSource;

this.jdbcTemplate = new JdbcTemplate(dataSource);

}

public void commit1(字符串值){

int行= jdbcTemplate.update(" UPDATE TABLE SET COLUMN_1 = GETDATE()

WHERE COLUMN_1 =?",值);

System.out.println(" rows =" +行);

}

public void commit2(字符串值){

整数计数= -1;

尝试{

连接con = null;

PreparedStatement ps = null;

尝试{

con = dataSource.getConnection();

ps = con.prepareStatement(" UPDATE TABLE SET COLUMN_1 = GETDATE()

WHERE COLUMN_1 =?");

ps.setString(1,value);

count = ps.executeUpdate();

System.out.println(" rows =" +行);

}

最后{

如果(ps!= null)ps.close();

如果(con!= null)con.close();

}} catch(SQLException ex){}

}

}

生产中的问题:

执行方法commit1(value)或commit2(value)

事实上,我更新了几行,但是使用 jconn4 库,我得到了下一个结果(控制台):

行= 0


jconn3 库我得到下一个(正确的)结果:

行=正确结果(1个或更多)

在具有 jconn3 jconn4 库方法的TEST环境中正确运行:

行=正确结果(1个或更多)

如何解决此问题?

付费偷看设置
发送
3条回答
lukcy2020
1楼-- · 2020-09-20 23:35

SAP公司没有回答

宇峰Kouji
2楼-- · 2020-09-20 23:41

您是否打开了与SAP的支持事件?

哎,真难
3楼-- · 2020-09-20 23:28

我发现了KBA 2286329-哪些SAP ASE版本具有修复程序 为CR 669482吗? 检查KBA,尽管它不是完全相同的问题,但它表明将ASE以及SDK升级到15.7 SP139可能会有所帮助。 否则与我们发生事件。

一周热门 更多>