Tôi đang sử dụng OleDbConnection, OldDbCommand và OleDbReader đối với cơ sở dữ liệu Access.Điều gì gây ra OLEDbException của tôi, IErrorInfo.GetDescription không thành công với E_FAIL (0x80004005)
Tôi có một truy vấn được đặt tên trong cơ sở dữ liệu mà tôi đang gọi từ mã.
Truy vấn hoạt động chính xác khi nó được truy cập từ quyền truy cập.
Một số tài nguyên cho biết lỗi có thể xảy ra do sử dụng các từ dành riêng trong truy vấn và bọc chúng bằng dấu ngoặc vuông. Tôi không sử dụng bất kỳ từ dành riêng và đã bao bọc tất cả các tên cột trong ngoặc đơn để loại trừ nó ra.
Đang cố gắng để xác định nơi mà vấn đề là, tôi đã đơn giản hóa các truy vấn để đơn giản
SELECT id FROM table1 WHERE id = 5
mà kết nối Ole không ném một ngoại lệ.
Khi tôi giới thiệu phần tiếp theo của truy vấn:
SELECT table1.id FROM table1 INNER JOIN storedQuery ON table1.id = storedQuery.id WHERE table1.id = 5"
sau đó tôi nhận được ngoại lệ.
chi tiết Trường hợp ngoại lệ như sau:
- Message: IErrorInfo.GetDescription failed with E_FAIL(0x80004005).
- ErrorCode: -2147467259
- NativeError: -533136361
- SQLState: 3000
Out tò mò, từ khóa dành riêng trong truy vấn thất bại là gì? – DaveInCaz
Quá nhiều năm trước để ghi nhớ .. Phần quan trọng đối với tôi là tìm ra rằng có những từ dự trữ khác nhau tùy thuộc vào cách bạn đang gọi các truy vấn được lưu trữ –