Frage

Wir versuchen, zu einer SQL Server-Instanz von dem ACT CRM-System verwendet zu verbinden. Sie haben es geschafft, die Dinge zu sperren, so dass es nicht möglich ist, an den SQL-Back-End zu verbinden ODBC (es gibt einige spezielle Dienstprogramm, das ODBC-Unterstützung hinzufügen, die Sie installieren können, wenn Sie die primo Version der Software kaufen, aber das ist einfach verrückt).

Die empfohlene Methode zur Anbindung an Datenbanken Thesen eine OLEDB-Verbindung verwendet wird.

Hat jemand irgendwelche Tricks / Ideen / etc ... für wie eine OLEDB-Verbindung von Java erstellen und verwenden?

Das muss nicht sein JDBC, wenn das nicht möglich ist. Alles, was wir wirklich tun müssen, ist eine SELECT-Abfrage ausführen, die zwei Felder zurückgibt und diese Feldwerte aus für jede Zeile analysieren. Ich habe sehr wenig Erfahrung mit OLEDB, so ‚JACOB verwenden‘ könnte eine gute Lösung sein, aber ich würde ein paar Details zu schätzen wissen, was die COM-Anrufe müßten eigentlich sein.

War es hilfreich?

Lösung

Ich weiß, das ist alt, aber könnte jemand helfen, zu wissen, wie ich es tat

ich näher beschrieben, wie es zu tun Hier .

Andere Tipps

Das ist nicht Ihr Problem. Das Problem ist die Art, wie sie den Server gesperrt haben unten. Grundsätzlich beim Start sieht es für Anmeldungen außer ACTUser und entfernt sie.

Sie es entsperren kann ziemlich leicht aber, dann werden Sie in der Lage sein, auf die übliche Art und Weise zu verbinden.

https://serverfault.com/questions / 77712 / sqlserver-need-to-access-an-act-Datenbank-for-Daten-Migration

Ich habe es geschafft, meine zu entsperren, aber ich vergessen, wie ... Ich glaube, ich begann es im Single-User-Modus dann einige lustige Sachen tat denen eine gespeicherte Prozedur in der Master-Datenbank zu entschlüsseln und ihn zu bearbeiten, dass „Funktionalität“ entfernen . Das wiederum beteiligt mit SQLTrace, um zu sehen, welche Befehle ACT sendete.

Ich schlage vor, Sie auf dem Server Fehler fragen.

Java können OLEDB nicht direkt zugreifen. Sie müssen dies in einer anderen Sprache wie C ++ oder C # tun. Dann können Sie über JNI oder externen Prozess zugreifen. Wenn Sie nicht die native Teil JNI selbst schreiben will, dann können Sie JACOB verwenden, wie Sie es vorschlagen. Aber ich denke, ein externer Prozess die Anforderung nehmen scheint einfacher sein.

oder benutzen: http://uda.openlinksw.com/jdbc / mt / jdbc-sQLServer-mt / Sie entwickeln alle Arten von Treibern. Ich habe dieses Unternehmen vor ...

Zwei Möglichkeiten, dieses Problem zu lösen.

  1. Spawn von Java ein externes proc (c #, C ++, etc.), die sqlsrv OLEDB mit verbindet und leiten Sie den stdin, stdout und stderr auf Ihr Java-Programm.
  2. Erstellen Sie eine C # Zuhörer auf einen bestimmten Port und haben Java über einen Client alle Anforderungen werden an diesem Hörer.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top