Anonymous
SQL- und Sybase -Treiberkonflikte
Post
by Anonymous » 30 Sep 2025, 20:16
Ich muss Daten aus einer Sybase -Quelle extrahieren und diese Daten dann verwenden, um Werte aus einer MSSQL -Quelle zu extrahieren.
Code: Select all
// Database drivers
// https://mvnrepository.com/artifact/jdbc.sybase/jconn4
implementation("jdbc.sybase:jconn4:16.0")
// https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc
implementation("com.microsoft.sqlserver:mssql-jdbc:13.2.0.jre11")
< /code>
Mein Programm wird in Debug ausgeführt, kann jedoch nicht normal ausgeführt.
Dies ist der Sybase -Aufruf < /p>
package gov.usdohud.chums;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedHashSet;
import org.apache.logging.log4j.core.Logger;
import com.sybase.jdbc4.jdbc.SybDataSource;
import gov.usdohud.dao.CaseData;
import gov.usdohud.model.ConfigData;
public class GetCases {
Logger LOGGER;
ConfigData config;
public GetCases(Logger LOGGER, ConfigData config) {
this.config = config;
this.LOGGER = LOGGER;
}
/**
* Get case data from the warehouse
* @return
*/
public LinkedHashSet getCaseData() {
LinkedHashSet cases = new LinkedHashSet();
// Query SFDW for cases
String sqlString = "select top 20 b.case_nbr, b.loan_nbr, b.score_dt, b.undrwrtr_id from idb_1 a, total_scorecard_data_final b "
+ "where a.case_nbr = b.case_nbr and endrsmnt_cy = ?";
SybDataSource datasource = new SybDataSource();
datasource.setServerName(config.getSfdwServer().getName());
datasource.setPortNumber(Integer.valueOf(config.getSfdwServer().getPort()));
datasource.setDatabaseName(config.getSfdwServer().getDatabase());
datasource.setUser(config.getSfdwServer().getUserId());
datasource.setPassword(config.getSfdwServer().getAuthentication());
try (Connection conn = datasource.getConnection();) {
PreparedStatement stmt = conn.prepareStatement(sqlString);
stmt.setLong(1, config.getFiscalYear());
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
CaseData thisRow = new CaseData();
thisRow.setCase_nbr(rs.getString("case_nbr"));
thisRow.setLoan_nbr(rs.getString("loan_nbr"));
thisRow.setScore_dt(rs.getString("score_dt"));
thisRow.setUndrwrtr_id(rs.getString("undrwrtr_id"));
cases.add(thisRow);
}
LOGGER.info("Preparring to process {} scoring records.", cases.size());
} catch (SQLException e) {
LOGGER.error("SQL Exception raised: {}",e.getMessage());
}
return cases;
}
}
< /code>
Nach dem Aufruf des Sybase ist dies das Durcheinander, das bei der Erstellung des SQL Server -Datasource -Objekts ausgelöst wird. < /p>
2025-09-30 13:36:39:174 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: Exception in thread "main"
2025-09-30 13:36:44:225 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: java.lang.NoClassDefFoundError: Could not initialize class sun.security.x509.OIDMap
2025-09-30 13:36:49:235 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.CertificateExtensions.parseExtension(CertificateExtensions.java:97)
2025-09-30 13:36:54:238 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.CertificateExtensions.init(CertificateExtensions.java:88)
2025-09-30 13:36:59:237 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.CertificateExtensions.(CertificateExtensions.java:78)
2025-09-30 13:36:59:259 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.X509CertInfo.parse(X509CertInfo.java:709)
2025-09-30 13:37:04:247 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.X509CertInfo.(X509CertInfo.java:169)
2025-09-30 13:37:04:266 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1787)
2025-09-30 13:37:09:256 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.X509CertImpl.(X509CertImpl.java:178)
2025-09-30 13:37:09:284 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:102)
2025-09-30 13:37:14:289 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:355)
2025-09-30 13:37:19:298 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.pkcs.PKCS7.parseSignedData(PKCS7.java:305)
2025-09-30 13:37:24:302 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.pkcs.PKCS7.parse(PKCS7.java:162)
2025-09-30 13:37:29:306 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.pkcs.PKCS7.parse(PKCS7.java:126)
2025-09-30 13:37:34:295 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.pkcs.PKCS7.(PKCS7.java:108)
2025-09-30 13:37:34:322 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.util.SignatureFileVerifier.(SignatureFileVerifier.java:125)
2025-09-30 13:37:39:304 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JarVerifier.processEntry(JarVerifier.java:308)
2025-09-30 13:37:39:332 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JarVerifier.update(JarVerifier.java:239)
2025-09-30 13:37:44:342 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JarFile.initializeVerifier(JarFile.java:761)
2025-09-30 13:37:49:351 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JarFile.ensureInitialization(JarFile.java:1037)
2025-09-30 13:37:54:349 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:72)
2025-09-30 13:37:54:370 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:883)
2025-09-30 13:37:59:363 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:848)
2025-09-30 13:37:59:389 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
2025-09-30 13:38:04:370 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
2025-09-30 13:38:04:396 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
2025-09-30 13:38:09:397 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
2025-09-30 13:38:09:427 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
2025-09-30 13:38:14:433 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at gov.usdohud.chums.GetCreditReports.getSQLCon(GetCreditReports.java:85)
2025-09-30 13:38:19:430 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at gov.usdohud.chums.GetCreditReports.main(GetCreditReports.java:54)
< /code>
Dies ist der SQL Server -Verbindungscode. < /p>
/**
* Get SQL Server connection
* @return
* @throws InterruptedException
*/
private final Connection getSQLCon() {
Connection conn = null;
try {
final SQLServerDataSource dataSource = new SQLServerDataSource();
dataSource.setTrustServerCertificate(true);
dataSource.setSendStringParametersAsUnicode(false);
dataSource.setConnectRetryCount(5);
dataSource.setServerName(config.getAusNatServer().getName());
dataSource.setPortNumber(Integer.parseInt(config.getAusNatServer().getPort()));
dataSource.setDatabaseName(config.getAusNatServer().getDatabase());
dataSource.setUser(config.getAusNatServer().getUserId());
dataSource.setPassword(config.getAusNatServer().getAuthentication());
conn = dataSource.getConnection();
} catch (SQLException e) {
LOGGER.error("Unable to connect to aus_national :{}",e);
}
return conn;
}
Ich kann den Aufruf an den Sybase -Server kommentieren und ein kompatibles LinkedHashset erstellen und das Programm läuft.>
1759256161
Anonymous
Ich muss Daten aus einer Sybase -Quelle extrahieren und diese Daten dann verwenden, um Werte aus einer MSSQL -Quelle zu extrahieren.[code] // Database drivers // https://mvnrepository.com/artifact/jdbc.sybase/jconn4 implementation("jdbc.sybase:jconn4:16.0") // https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc implementation("com.microsoft.sqlserver:mssql-jdbc:13.2.0.jre11") < /code> Mein Programm wird in Debug ausgeführt, kann jedoch nicht normal ausgeführt. Dies ist der Sybase -Aufruf < /p> package gov.usdohud.chums; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedHashSet; import org.apache.logging.log4j.core.Logger; import com.sybase.jdbc4.jdbc.SybDataSource; import gov.usdohud.dao.CaseData; import gov.usdohud.model.ConfigData; public class GetCases { Logger LOGGER; ConfigData config; public GetCases(Logger LOGGER, ConfigData config) { this.config = config; this.LOGGER = LOGGER; } /** * Get case data from the warehouse * @return */ public LinkedHashSet getCaseData() { LinkedHashSet cases = new LinkedHashSet(); // Query SFDW for cases String sqlString = "select top 20 b.case_nbr, b.loan_nbr, b.score_dt, b.undrwrtr_id from idb_1 a, total_scorecard_data_final b " + "where a.case_nbr = b.case_nbr and endrsmnt_cy = ?"; SybDataSource datasource = new SybDataSource(); datasource.setServerName(config.getSfdwServer().getName()); datasource.setPortNumber(Integer.valueOf(config.getSfdwServer().getPort())); datasource.setDatabaseName(config.getSfdwServer().getDatabase()); datasource.setUser(config.getSfdwServer().getUserId()); datasource.setPassword(config.getSfdwServer().getAuthentication()); try (Connection conn = datasource.getConnection();) { PreparedStatement stmt = conn.prepareStatement(sqlString); stmt.setLong(1, config.getFiscalYear()); ResultSet rs = stmt.executeQuery(); while (rs.next()) { CaseData thisRow = new CaseData(); thisRow.setCase_nbr(rs.getString("case_nbr")); thisRow.setLoan_nbr(rs.getString("loan_nbr")); thisRow.setScore_dt(rs.getString("score_dt")); thisRow.setUndrwrtr_id(rs.getString("undrwrtr_id")); cases.add(thisRow); } LOGGER.info("Preparring to process {} scoring records.", cases.size()); } catch (SQLException e) { LOGGER.error("SQL Exception raised: {}",e.getMessage()); } return cases; } } < /code> Nach dem Aufruf des Sybase ist dies das Durcheinander, das bei der Erstellung des SQL Server -Datasource -Objekts ausgelöst wird. < /p> 2025-09-30 13:36:39:174 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: Exception in thread "main" 2025-09-30 13:36:44:225 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: java.lang.NoClassDefFoundError: Could not initialize class sun.security.x509.OIDMap 2025-09-30 13:36:49:235 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.CertificateExtensions.parseExtension(CertificateExtensions.java:97) 2025-09-30 13:36:54:238 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.CertificateExtensions.init(CertificateExtensions.java:88) 2025-09-30 13:36:59:237 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.CertificateExtensions.(CertificateExtensions.java:78) 2025-09-30 13:36:59:259 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.X509CertInfo.parse(X509CertInfo.java:709) 2025-09-30 13:37:04:247 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.X509CertInfo.(X509CertInfo.java:169) 2025-09-30 13:37:04:266 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1787) 2025-09-30 13:37:09:256 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.x509.X509CertImpl.(X509CertImpl.java:178) 2025-09-30 13:37:09:284 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:102) 2025-09-30 13:37:14:289 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:355) 2025-09-30 13:37:19:298 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.pkcs.PKCS7.parseSignedData(PKCS7.java:305) 2025-09-30 13:37:24:302 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.pkcs.PKCS7.parse(PKCS7.java:162) 2025-09-30 13:37:29:306 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.pkcs.PKCS7.parse(PKCS7.java:126) 2025-09-30 13:37:34:295 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.pkcs.PKCS7.(PKCS7.java:108) 2025-09-30 13:37:34:322 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/sun.security.util.SignatureFileVerifier.(SignatureFileVerifier.java:125) 2025-09-30 13:37:39:304 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JarVerifier.processEntry(JarVerifier.java:308) 2025-09-30 13:37:39:332 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JarVerifier.update(JarVerifier.java:239) 2025-09-30 13:37:44:342 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JarFile.initializeVerifier(JarFile.java:761) 2025-09-30 13:37:49:351 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JarFile.ensureInitialization(JarFile.java:1037) 2025-09-30 13:37:54:349 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:72) 2025-09-30 13:37:54:370 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:883) 2025-09-30 13:37:59:363 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:848) 2025-09-30 13:37:59:389 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) 2025-09-30 13:38:04:370 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) 2025-09-30 13:38:04:396 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) 2025-09-30 13:38:09:397 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) 2025-09-30 13:38:09:427 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) 2025-09-30 13:38:14:433 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at gov.usdohud.chums.GetCreditReports.getSQLCon(GetCreditReports.java:85) 2025-09-30 13:38:19:430 ERROR [main] (com.salientcrgt.chums.util.LogStandardOutput$2.print(LogStandardOutput.java:45)) serr: at gov.usdohud.chums.GetCreditReports.main(GetCreditReports.java:54) < /code> Dies ist der SQL Server -Verbindungscode. < /p> /** * Get SQL Server connection * @return * @throws InterruptedException */ private final Connection getSQLCon() { Connection conn = null; try { final SQLServerDataSource dataSource = new SQLServerDataSource(); dataSource.setTrustServerCertificate(true); dataSource.setSendStringParametersAsUnicode(false); dataSource.setConnectRetryCount(5); dataSource.setServerName(config.getAusNatServer().getName()); dataSource.setPortNumber(Integer.parseInt(config.getAusNatServer().getPort())); dataSource.setDatabaseName(config.getAusNatServer().getDatabase()); dataSource.setUser(config.getAusNatServer().getUserId()); dataSource.setPassword(config.getAusNatServer().getAuthentication()); conn = dataSource.getConnection(); } catch (SQLException e) { LOGGER.error("Unable to connect to aus_national :{}",e); } return conn; } [/code] Ich kann den Aufruf an den Sybase -Server kommentieren und ein kompatibles LinkedHashset erstellen und das Programm läuft.>