2013-02-28 38 views
5

Tôi đang chạy đoạn mã sauNhiều thao tác OLE DB được tạo ra nhiều lỗi. Kiểm tra từng giá trị trạng thái OLE DB, nếu có. Không có công việc đã được thực hiện

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

Tôi đặt gỡ lỗi từ báo cáo kết quả đầu tiên của khối try và tìm lỗi đó là đến khi tôi đang cố gắng để mở kết nối. Lỗi Text:

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

Connection String là:

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

Tôi đang sử dụng kết nối oledb.

+1

Tuyên bố đó không trả về một vô hướng thay vì có thể định giá được không? – hcb

+0

Lỗi xảy ra sau khi con.open() – Freelancer

Trả lời

1

Đây có thể là kết quả của lỗi trong chuỗi kết nối của bạn. Bạn nên cố gắng thêm

Persist Security Info=True; 

Hoặc bạn có thể gặp sự cố trong đăng ký với nhà cung cấp OLE DB, phải có hồ sơ OLEDB_SERVICES. Trong registry dưới HKEY_CLASSES_ROOT \ CLSID, tìm CLSID của nhà cung cấp OLE DB và thêm giá trị đăng ký sau:

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

Xem http://support.microsoft.com/kb/269495 để biết thêm thông tin

3

Tôi đã có một vấn đề tương tự khi mở một kết nối với sau chuỗi kết nối:

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

Thay đổi Integrated Security=True-Integrated Security=SSPI trong chuỗi kết nối cố định vấn đề.

1

Đối với một vấn đề tương tự kết nối với một cơ sở dữ liệu MS Access, lỗi này chính xác được tạo ra cho một mật khẩu sai thiết lập trong thuộc tính kết nối của Jet OLEDB: Database Password =

1

Tôi đã có cùng một vấn đề nhưng phát hiện ra là các ký tự đặc biệt được sử dụng trong mật khẩu.

Vì vậy, tôi đã thay đổi mật khẩu tệp Access và thay thế Máy bay phản lực OLEDB: Cơ sở dữ liệu Mật khẩu = bằng bản cập nhật và giải quyết sự cố.