Ich versuche, mit einer .NET 3.5-Anwendung in WinXP eine Verbindung zu einer SQL Anywhere 5-Datenbank herzustellen (ich weiß, es ist ollld!) und es funktioniert gut von einer eigenständigen Konsolen-App. Aber wenn ich den genauen Code in einem Plugin ausführe und eine separate AppDomain (der einzige Unterschied, den ich zwischen den beiden unterscheiden kann) mit dem folgenden Code ausführen kann, bekomme ich die Fehler weiter unten.SQL Anywhere-Verbindungsfehler: Der Treiber unterstützt die von der Anwendung angeforderte Version des ODBC-Verhaltens nicht
BTW Beide werden als der gleiche Benutzer ausgeführt.
using (OdbcConnection connection =
new OdbcConnection(strConnect))
{
OdbcCommand command = new OdbcCommand(query, connection);
command.CommandType = CommandType.Text;
DataTable posRecordsTable = new DataTable();
connection.Open();
OdbcException Ausnahme gibt die folgenden Fehler:
Index # 0 Nachricht: [Sybase] [ODBC-Treiber] Kann nicht Datenbank-Server verbinden: Datenbank-Engine läuft nicht
Index # 1 Nachricht: [Sybase] [ODBC-Treiber] Ungültiges Verbindungszeichenfolgenattribut
Index # 2 Nachricht: [Sybase] [ODBC-Treiber] Ungültiges Verbindungszeichenfolgenattribut
Index # 3 Nachricht: [Microsoft] [ODBC-Treibermanager] Der Treiber unterstützt nicht die Version von ODBC-Verhalten, das von der Anwendung angefordert wurde (siehe SQLSetEnvAttr).
Also was ist die Verbindungszeichenfolge, Benutzer/Passwort usw. verschleiern. Hard tpo sagen, welches Bit davon, es könnte nicht mögen, ohne es zu sehen. –
Tony, das Problem ist, dass die gleiche Verbindungszeichenfolge und Code funktionieren gut aus einer Stand-alone-App = (((((( –
) Immer ein Popel, der. Blick auf diese http://msdn.microsoft.com/ en-us/library/windows/desktop/ms709285 (v = V.85) .aspx, deutet darauf hin, dass es in den App-Domänenkonfigurationen des Plugins und der Konsole einige feine Unterschiede gibt. Vielleicht lohnt es sich, die App-Domain-Einstellungen in jedem zu speichern eine Datei, um zu sehen, ob du etwas erkennen kannst –