2016-05-18 14 views
0

Ich versuche, XA-Transaktion für die MS sql server 2008 unter Windows server 2008 R2 zu aktivieren.Wo finde ich die Datei sqljdbc_xa.dll?

Dazu muss ich die SQLJDBC_XA.dll Datei aus dem JDBC-Installationsverzeichnis in das Binn-Verzeichnis kopieren.

Dieser Datenbankserver hat keine solche Datei irgendwo auf der Festplatte und ich habe keinen Zugriff auf die Installations-CDs. Gibt es eine Möglichkeit, diese spezifische Datei zu erhalten? XA-Transaktionen für SQL Server

+1

Der JDBC-Treiber kann von https://msdn.microsoft.com/en-us/library/mt484311(v=sql.110).aspx heruntergeladen werden –

+0

^Das hat funktioniert! Das kann ich auch als Antwort akzeptieren :) – PCM

Antwort

0

Enabling ist ein nicht offensichtlich Prozess mit:

(a) Going in Komponentendienste> verteilte Transaktionen> Lokale DTC Und das Markieren eines Feldes XA-Transaktion zu aktivieren: Siehe https://blogs.msdn.microsoft.com/dataaccesstechnologies/2011/10/26/how-a-dba-can-confirm-if-microsoft-jdbc-xa-transactions-are-set/

(b) Sie haben die DLL zu kopieren, die kommen s getrennt von der DB. Laden Sie den neuesten jdbc-Treiber herunter (z. B. 6.0). Gehen Sie zu Ihnen SQL Server Installationsordner und Suche nach: Binn.

Sie finden einen Binn-Ordner, der bereits dlls enthält. Zum Beispiel somepath \ MicrosoftSQLServer_InstanceRoot \ MSSQL12.SQLEXPRESS \ MSSQL \ Binn

Fügen Sie den entsprechenden: sqljdbc_6.0 \ enu \ xa \ x64 \ sqljdbc_xa.dll Dll es in, wenn Sie eine 64-Bit-Express Edition haben. Andernfalls verwenden Sie die 32-Bit-DLL.

Wenn Sie die DLL in den falschen Ordner abgelegt werden Sie eine bekommen:

XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMERR start() failed on resource 'someAppDatasource': XAER_RMERR : A resource manager error has occurred in the transaction branch javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: Could not load the DLL SQLJDBC_XA.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.). at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:742) at com.microsoft.sqlserver.jdbc.SQLServerXAResource.start(SQLServerXAResource.java:774)

(c) Sie erhalten auch eine xa_install.sql die mit dem Treiber kommt. Sie müssen diesen SQL-Server ausführen. Es wird eine Benutzerrolle erstellt.

(d) Sie müssen zu Ihrem verwendeten und ausgewählten Datenbankmaster gehen und die neue Benutzerrolle auswählen, die für XA-Transaktionen erstellt wurde.

Entschuldigung, aber SQL Server macht es nicht einfach, XA-Transaktionen zu ermöglichen ... aus welchem ​​Grund auch immer, Sie müssen überall hin und her springen, um das Programm zu aktivieren.