2013-02-28 14 views
5
getan

ichMehrstufiger OLE DB-Vorgang erzeugte Fehler. Überprüfen Sie jeden OLE DB-Statuswert, falls verfügbar. Keine Arbeit wurde

folgenden Code leite
/*Fetchinch Last CustID from custMaster*/ 
int ID=0; 
try 
{ 
    con.Open(); 
    da = new OleDbDataAdapter("select max(Id) from custMaster",con); 
    DataSet ds = new DataSet(); 
    da.Fill(ds); 
    for(int i=0;i<ds.Tables[0].Rows.Count;i++) 
    ID=int.Parse(ds.Tables[0].Rows[i][0].ToString()); 
    con.Close(); 
} 
catch (Exception ex) {} 
finally 
{ 
    con.Close(); 
} 

Ich stelle Debugger von der ersten Anweisung von Try-Block und feststellen, dass Fehler comming ist, wenn ich versuche, die Verbindung zu öffnen. Fehlertext:

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. 

Connection String ist:

„Provider = Microsoft.Jet.OLEDB.4.0; Datasource = E: \ NewSoft \ Database \ TestApp.accdb; Integrated Security = SSPI "

Ich verwende oledb Verbindungen.

+1

Gibt diese Anweisung nicht einen Skalar statt einer Datentabelle zurück? – hcb

+0

Fehler kommend nach con.open() – Freelancer

Antwort

1

Dies kann das Ergebnis des Fehlers in der Verbindungszeichenfolge sein. Sie sollten versuchen,

Persist Security Info=True; 

hinzufügen Oder Sie könnten Probleme in Ihrer Registrierung mit Ihrem OLE DB-Provider haben, die OLEDB_SERVICES Datensatz haben. In der Registrierung unter HKEY_CLASSES_ROOT \ CLSID, finden die CLSID der OLE DB-Provider und fügen Sie den folgenden Registrierungswert hinzu:

Value Name: OLEDB_SERVICES 
Data Type: REG_DWORD 
Value: 0xFFFFFFFF 

Siehe http://support.microsoft.com/kb/269495 für weitere Informationen

3

ich ein ähnliches Problem hatte, wenn eine Verbindung mit der Öffnung folgende Verbindungszeichenfolge:

Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True 

Ändern Integrated Security=True-Integrated Security=SSPI in der Verbindungszeichenfolge das Problem behoben.

1

Für ein ähnliches Problem auf eine MS Access-Datenbank verbinden, diese genauen Fehler wurden in dem Verbindungsattribut von Jet OLEDB-Set für ein falsches Passwort generiert: Database Password =

1

ich gleiches Problem hatte, aber herausgefunden, als Sonderzeichen im Passwort verwendet werden.

Also änderte ich das Passwort der Zugangsdatei und ersetzte Jet OLEDB: Datenbankpasswort = mit dem aktualisierten und es löste das Problem.