SQLSERVERHALT HABEN DER VERWENDUNG 'XPLOG70.DLL' Version 'xxx', um die erweiterte gespeicherte Prozedur 'XP_MSVER' auszuJava

Java-Forum
Guest
 SQLSERVERHALT HABEN DER VERWENDUNG 'XPLOG70.DLL' Version 'xxx', um die erweiterte gespeicherte Prozedur 'XP_MSVER' auszu

Post by Guest »

Systeminformationen:
OS: macOS Catalina 10.15.2 < /code> und Windows 10 < /code> < /p>

Docker Bild: mcr.microsoft. Com/MSSQL/Server: 2019-CU2-Ubuntu-16.04 (2019 GA hat das gleiche Problem)

JDBC-Treiber: com.microsoft.sqlserver: mssql- JDBC: 8.2.1.JRE8 < /code> < /p>

Kontext:
Datenbank im Docker -Container ausführen und über JDBC -Treiber zugreifen.

Ich starte den Docker-Container mit https://github.com/testcontainers/testcontainers-java/ api

Verhalten:
Startup der Datenbank geht gut und i Holen Sie sich: < /p>

Code: Select all

[01/24/2020 14:53:23:405 CST] 051 SQLServerContainer             output                         I
2020-01-24 20:53:23.41 spid12s     Clearing tempdb database.
< /code>

Ich führe dann eine init-sqlServer.sql-Datei aus, um die JDBC XA-Verbindung zu aktivieren: < /p>

-- Create database
CREATE DATABASE TEST;

-- Enable XA connections
EXEC sp_sqljdbc_xa_install;
< /code>

Und ich erhalte < /p>

...
[01/24/2020 14:53:23:969 CST] 051 SQLServerContainer             output                         I
2020-01-24 20:53:23.97 spid52      Starting up database 'TEST'.
...
[01/24/2020 14:53:24:377 CST] 001 ScriptUtils                    executeDatabaseScript          I Executed database script from resources/init-sqlserver.sql in 855 ms.
[01/24/2020 14:53:25:029 CST] 051 SQLServerContainer             output                         I
2020-01-24 20:53:25.04 spid25s     The tempdb database has 6 data file(s).
< /code>

Wenn ich tatsächlich versuche, eine XA -Verbindung zu verwenden, erhalte ich: < /p>

[01/24/2020 14:53:47:496 CST] 051 SQLServerContainer             output                         I
2020-01-24 20:53:47.49 spid53      Initializing Microsoft Distributed Transaction Coordinator (MS DTC) resource manager [820e1ea9-c921-4350-897e-a7534d9d1ed7] for server instance 8b0aca425794. This is an informational message only. No user action is required.
[01/24/2020 14:53:47:504 CST] 051 SQLServerContainer             output                         I
2020-01-24 20:53:47.50 spid53      Recovery of any in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC) has completed. This is an informational message only. No user action is required.
[01/24/2020 14:59:44:692 CST] 051 SQLServerContainer             output                         I
2020-01-24 20:59:44.71 spid62      Attempting to load library 'xplog70.dll' into memory. This is an informational message only. No user action is required.
[01/24/2020 14:59:44:742 CST] 051 SQLServerContainer             output                         I
2020-01-24 20:59:44.76 spid62      Using 'xplog70.dll' version '2019.150.4003' to execute extended stored procedure 'xp_msver'. This is an informational message only; no user action is required.
< /code>

Und ich hänge auf unbestimmte Zeit am letzten Teil.  Sie können auch sehen, dass zwischen zwei der Stufen ca. 6 Minuten hängen.  < /p>

Was versuche ich in meinem Quellcode zu erreichen: < /p>

    /**
* Enlist a two-phase capable resource in a global transaction.
*/
public void getXAConnection() throws Exception {
setUpTables(ds1);

tran.begin();
try (Connection con1 = ds1.getConnection()) {
PreparedStatement pstmt = con1.prepareStatement("insert into cities values (?, ?, ?)");
pstmt.setString(1, "Wanamingo");
pstmt.setInt(2, 1086);
pstmt.setString(3, "Goodhue");
pstmt.executeUpdate();
pstmt.close();

tran.commit();
} catch (Throwable x) {
try {
tran.rollback();
} catch (Throwable t) {
}
throw x;
}
}
< /code>

Fragen: < /p>

[list]
[*] Sollte die Initialisierung von MSDTC während der Ausführung nicht auftreten von
EXEC sp_sqljdbc_xa_install;
gespeicherte Prozedur? < /li>
Warum gibt es eine so lange Verzögerung zwischen gespeicherten Verfahren? < /li>
Ist dies ein Problem mit dem Docker -Bild oder dem JDBC -Treiber? (Dies funktionierte auf Derby, DB2, Postgres und Oracle)
[/list]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post