Nach ca. 3 Tagen kann ich keinen Verbindungsserver von SQL Server 2016 zu Informix 11.5 erstellen. Ich habe dies nicht mit anderen Versionen (2008R2 usw.) versucht, da ich die Verbindung zuerst in einer Testumgebung einrichten wollte.
Was habe ich getan
- Installierte den neuesten Informix OLE DB-Treiber auf dem SQL Server-Hostcomputer
- Konfigurierte einen System-DSN für das IBM Informix ODBC-Treiber-Setup
- Testete die Konnektivität der DSN-Einstellungen (Test ist gut), nachdem die Gebietsschemaeinstellungen so geändert wurden, dass Client und Server übereinstimmen und der Server korrekt ist.
- Es wurde versucht, den Verbindungsserver auf zwei Arten zu erstellen.
- Googelte und las alles, was ich konnte, um dies ohne Erfolg zu lösen.
1) Verwenden von IBM Informix- Anweisungen mit OLE DB Provider, bei denen der folgende Fehler angezeigt wird (unabhängig davon, ob ich eine DNS in der Provider-Zeichenfolge verwende):
Das Datenquellenobjekt des OLE DB-Anbieters "Ifxoledbc" für den Verbindungsserver "UCCX" kann nicht initialisiert werden. Der OLE DB-Anbieter "Ifxoledbc" für den Verbindungsserver "UCCX" hat die Meldung "EIX000: (-23197)" Nicht übereinstimmende Informationen zum Datenbankgebietsschema "zurückgegeben (Microsoft SQL Server, Fehler: 7303).
Das DB-Gebietsschema lautet en_US.57372
2) Verwenden von Microsoft OLE DB Provider für SQL Server, wie in diesem Blog erläutert, das den Fehler zurückgibt:
Named Pipes Provider: Es konnte keine Verbindung zu SQL Server hergestellt werden. OLE DB-Provider SQLNCLI11 für Verbindungsserver UCCX hat die Meldung "Anmeldezeitlimit abgelaufen" zurückgegeben. OLE DB-Provider SQLNCLI11 für Verbindungsserver UCCX hat eine Meldung erneut ausgeführt. "Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten. Server wurde nicht gefunden oder nicht zugänglich. Überprüfen Sie, ob der Instanzname korrekt ist und ob SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden. SQLNCLI11 für Verbindungsserver UCCX hat die Meldung "Ungültiges Verbindungszeichenfolgenattribut" zurückgegeben.
Ich habe sehr wenig Erfahrung mit Informix, was offensichtlich sein sollte, und dies ist keine lokale Installation, sondern eine Cisco-Instanz, wie Sie wahrscheinlich aus den von mir verwendeten Blogs entnommen haben. Jeder Rat wäre dankbar.
ServerName -> Server Objects -> Linked Servers -> Providers
? Wenn Sie den Anbieter nicht sehen können, müssen Sie die Instanz möglicherweise neu starten. Alternativ können Sie eine ungerade Treiberinstallation verwenden, die benutzerspezifisch und nicht serverweit ist. In diesem Fall müssen Sie sie möglicherweise als denselben Benutzer installieren, der SQL ausführt.Client_Locale=en_us.8859-1
der Verbindungszeichenfolge (über ConnectionStrings.com ) funktionieren? Ich greife aber nach Strohhalmen ... EntschuldigungAntworten:
Wir hatten einen Albtraum, der etwas Ähnliches einrichtete, insbesondere mit dem Problem der Verbindung zu mehreren Informix-Umgebungen. Ich hatte mehrere Informix-Instanzen, die zu Warehousing-Zwecken mit einer einzelnen SQL Server-Instanz verknüpft werden mussten, und wurde von unserem ansässigen KMU darüber informiert, dass dies unmöglich ist. Pro Server konnte nur auf eine einzelne Informix-Instanz verwiesen werden.
Ich würde durchweg die gleichen Fehler erhalten wie Sie, und nichts, was ich online ausgraben konnte, erwies sich als hilfreich.
Letztendlich bestand die Lösung aus mehreren Teilen, von denen Sie die ersten gemacht haben:
IBM Informix ODBC Driver
muss auf dem Datenbankserver installiert sein.Der Trick beim Verbindungsserver-Setup besteht darin, Folgendes zu verwenden (Elemente in Codeblöcken sind wörtlich):
Microsoft OLE DB Provider for ODBC Drivers
Ifxoledbc
{IBM INFORMIX ODBC DRIVER}
Wenn Sie eher ein manueller SQL-Typ sind, siehe unten. Die Provider-Zeichenfolge wird nur zu Inline-Kommentierungszwecken in eine Variable gezogen, während weiterhin ausführbarer Code vorhanden ist. Nach Bedarf ändern:
Da es sich um eine einzelne Instanz handelt, sollte es ausreichen, einfach die Werte abzugleichen, die zum Erstellen Ihres System-DSN verwendet wurden. Wenn Sie zusätzliche Verbindungsserver für andere Instanzen hinzufügen müssen, können Sie genau das oben beschriebene Format ohne zusätzliche DSN-Einträge verwenden.
Ich hoffe das hilft.
quelle