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

4

7

I am running following code

/*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();
}

I am putting debugger from the first statement of try block and finding that error is coming when I am trying to open the connection. Error Text:

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

Connection String is:

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

I am using oledb connections.

Avalanche answered 28/2, 2013 at 7:20 Comment(2)
Doesn't that statement return a scalar instead of a datatable?Barometer
Error comming after con.open()Avalanche
O
3

This can be the result of the error in your connection string. You should try to add

Persist Security Info=True;

Or you might have problems in your registry with your OLE DB provider, which must have OLEDB_SERVICES record. In the registry under HKEY_CLASSES_ROOT\CLSID, find the CLSID of the OLE DB provider and add the following registry value:

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

See http://support.microsoft.com/kb/269495 for more information

Ozieozkum answered 28/2, 2013 at 7:39 Comment(2)
Do you have any idea how I am supposed to know the CLSID? I can't seem to find anything about this (your link is expired)Luzon
@Luzon I did a search for "Microsoft KB 269495" and found this link which appears to be an archived version of the KB document referenced. betaarchive.com/wiki/index.php/Microsoft_KB_Archive/269495Wuhsien
D
4

I had a similar issue when opening a connection with the following connection string:

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

Changing Integrated Security=True to Integrated Security=SSPI in the connection string fixed the problem.

Distend answered 24/7, 2013 at 20:6 Comment(1)
The OP is already using SSPI, so this clearly doesn’t answer the original question. Instead, you are posing a new question and answering it.Hyacinthie
O
3

This can be the result of the error in your connection string. You should try to add

Persist Security Info=True;

Or you might have problems in your registry with your OLE DB provider, which must have OLEDB_SERVICES record. In the registry under HKEY_CLASSES_ROOT\CLSID, find the CLSID of the OLE DB provider and add the following registry value:

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

See http://support.microsoft.com/kb/269495 for more information

Ozieozkum answered 28/2, 2013 at 7:39 Comment(2)
Do you have any idea how I am supposed to know the CLSID? I can't seem to find anything about this (your link is expired)Luzon
@Luzon I did a search for "Microsoft KB 269495" and found this link which appears to be an archived version of the KB document referenced. betaarchive.com/wiki/index.php/Microsoft_KB_Archive/269495Wuhsien
S
1

For a similar problem connecting to a MS Access database, this exact error was generated for a wrong password set in the connection attribute of Jet OLEDB:Database Password=

Strawser answered 16/8, 2013 at 6:34 Comment(0)
A
1

I was having same problem but found out to be special characters used in the password.

So, I changed the Access file password and replaced Jet OLEDB:Database Password= with the updated one and it solved the issue.

Aerograph answered 31/3, 2017 at 13:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.