3 Stimmen

Was bedeutet der Fehler 'Multiple-step OLE DB'?

Ich arbeite ein wenig an einem grauenhaften Stück Software, das von Bangalores Bestem entwickelt wurde.

Es ist hauptsächlich in klassischem ASP/VbScript geschrieben, aber auf ASP.NET "portiert", obwohl der meiste Code in den ASPX-Seiten im klassischen ASP-Stil gehalten ist :(

Ich erhalte diese Meldung, wenn ich versuche, eine Verbindung zu meiner lokalen Datenbank herzustellen:

Eine mehrstufige OLE DB-Operation erzeugte Fehler. Überprüfen Sie jeden OLE DB-Statuswert, falls vorhanden. Es wurde keine Arbeit geleistet.

Line 38:    MasterConn = New ADODB.Connection()
Line 39:    MasterConn.connectiontimeout = 10000
Line 40:        MasterConn.Open(strDB)

Hat jemand eine Ahnung, was dieser Fehler bedeutet? Die Verbindung zu meinem lokalen Rechner (auf dem SQLEXPRESS läuft) wird mit dieser Verbindungszeichenfolge hergestellt:

PROVIDER=MSDASQL;DRIVER={SQL Server};Server=JONATHAN-PC\SQLEXPRESS\;DATABASE=NetTraining;Integrated Security=true

Das ist die Verbindungszeichenfolge, die ursprünglich verwendet wurde, ich habe sie nur auf meine Datenbank umgelenkt.

UPDATE:

Das Problem war die Verwendung von "Integrated Security" mit ADO. Ich wechselte zu einem Benutzerkonto und die Verbindung funktionierte einwandfrei.

4voto

Dale Ragan Punkte 18091

Ich bin vor langer Zeit bei der Arbeit mit ASP auf dieses Problem gestoßen. Ich habe diesen Wissensdatenbank-Artikel gefunden und er hat mir geholfen. Ich hoffe, er löst dein Problem.

http://support.microsoft.com/kb/269495

Wenn das nicht funktioniert und alles überprüft wurde, dann liegt es wahrscheinlich an deiner Verbindungszeichenfolge. Als nächstes würde ich diese Schritte versuchen:

Entfernen:

DRIVER={SQL Server};

Bearbeite den Provider wie folgt:

Provider=SQLOLEDB;

0voto

Michael Pryor Punkte 24198

Übrigens ist connectionstrings.com eine großartige Seite, damit Sie sich nicht die ganze Verbindungszeichenfolgensyntax merken müssen.

0voto

Amadiere Punkte 11025

Ich bin auf dieses Problem gestoßen, als ich versuchte, mich über das wundervolle Classic ASP mit einer MySQL-Datenbank zu verbinden. Die oben genannten Lösungen haben es nicht direkt behoben, aber am Ende habe ich es gelöst, indem ich den ODBC-Treiber (vom langjährigen 3.51) auf die neueste Version aktualisiert habe. Dann konnte ich die Treiberzeile stehen lassen (und nicht den Provider-Teil hinzufügen), aber ich musste den Verbindungsstring entsprechend aktualisieren zu:

Driver={MySQL ODBC 5.1 Driver};

Das hat gut funktioniert. Glücklicher Mensch.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X