【发布时间】:2021-09-27 12:17:29
【问题描述】:
mvn:net.sourceforge.jtds/jtds/1.3.1-patch-20190523/jar 保存到 Microsoft SQL Server 数据库。 实际上这个 JDBC 驱动是由 Talend 提供的。由于各种原因,我有一些将 blob 保存到数据库的 Java JDBC 代码。这适用于 Oracle 数据库。
try (Connection con = DriverManager.getConnection(this.connectionString, this.user, this.pw)) {
insert(con, ags, snr, productVersion, nummer, inhalt, this.migrationsBenutzer, format, daten);
}
public long insert(Connection con, String ags, String snr, int productVersion ,int nummer,String inhalt, String benutzer, String format, byte[] daten) throws SQLException {
long result = 0;
String timestamp = now();
try {
Blob blob = con.createBlob();
blob.setBytes(1, daten);
PreparedStatement ps = con.prepareStatement(this.insert);
...
ps.setBlob(9, blob);
result = ps.executeUpdate();
但是,当我使用 jtds 的连接字符串调用该方法时: jdbc:jtds:sqlserver://:1433;databaseName=
我得到了这个异常
Exception in thread "main" java.lang.AbstractMethodError
at net.sourceforge.jtds.jdbc.JtdsConnection.createBlob(JtdsConnection.java:2776)
at de.iteos.dao.BildspeichernDAO.insert(BildspeichernDAO.java:60)
我能做什么?如果可行,我想尽可能保持该方法的通用性。我必须切换到另一个 JDBC 驱动程序吗?我在某处读到这可以通过验证查询来解决。为此,我必须为 Oracle 和 SQL Server 实现两个不同的数据源,对吗?
【问题讨论】: