2011-09-20 32 views
11

Tôi đang cố gắng kết nối với DB2 từ ứng dụng .NET 2.0 trong máy phát triển của tôi đang chạy các cửa sổ 7 64 bit.Lỗi khởi tạo SQL1159 với Nhà cung cấp dữ liệu DB2 .NET, mã lý do 2

Tôi gặp phải lỗi này ở phương pháp mở. Không thể tìm thấy giải pháp.

Loại ngoại lệ: InvalidOperationException Ngoại lệMessage: SQL1159 Lỗi khởi tạo với Trình cung cấp dữ liệu .NET DB2, mã lý do 2, mã thông báo D: ....................... \ bin \ db2app.dll, StackTrace: tại IBM.Data.DB2.DB2ConnPool.Open (kết nối DB2Connection, string & szConnectionString, DB2ConnSettings & ppSettings, Object & ppConn) tại IBM.Data.DB2.DB2Connection.Open()

Trả lời

8

Đã học điều này từ một phần của tôi. Vấn đề là do db2app.dll bị thiếu trong thư mục bin của thư mục ứng dụng.

Sao chép db2app.dll và db2app64.dll từ C: \ Program Files \ IBM \ SQLLIB \ BIN vào thư mục bib của ứng dụng và nó hoạt động tốt.

+1

có, bạn cần đảm bảo rằng bộ điều khiển DB2 phù hợp với PATH – zinking

+0

Cảm ơn @Shetty, câu trả lời của bạn đã giải quyết được sự cố của tôi –

2

Xem "phản hồi của người dùng" ở cuối số IBM doc for SQL1159N, cũng liệt kê các lý do khác nhau mà bạn có thể nhận được mã lỗi này:

Đã xảy ra sự cố với quá trình cài đặt DB2 của bạn. Nếu đây là lần đầu tiên DB2 được cài đặt trên máy tính này, hãy xem lại nhật ký cài đặt cho bất kỳ lỗi có thể nào và chạy sửa chữa DB2 từ applet bảng điều khiển Add/Remove Programs. Vị trí mặc định của các bản ghi cài đặt là thư mục My Documents/DB2LOG của người dùng đã thực hiện cài đặt. Nếu điều này không giải quyết được vấn đề, vui lòng liên hệ với bộ phận Hỗ trợ của IBM và cung cấp mã lý do được liên kết với thông báo này cùng với bất kỳ nhật ký cài đặt nào.

+0

cảm ơn liên kết. Nhưng cài đặt của tôi không có vấn đề gì. – Shetty

0

Sau khi nói chuyện với IBM, họ khuyên bạn nên chống lại việc đưa các dll của IBM vào trong thư mục bin. Chúng tôi cho phép IBM cấu hình từ xa máy chủ của mình và bây giờ tất cả hoạt động tốt và chúng tôi không được đặt ibm * .dll vào các thư mục bin của mình hoặc nó sẽ không hoạt động.

1

Tôi có một máy khách DB2 32 bit và tôi đã truy cập nó từ một ứng dụng web được lưu trữ trên IIS, sử dụng nhóm ứng dụng (với 'Kích hoạt ứng dụng 32 bit' được đặt thành sai). Trong trường hợp này, Máy khách 64 bit (db2app64.dll) được mong đợi trong khi db2app.dll sẽ ném lỗi ở trên.

Chỉ cần FYI .. Thật khó để gỡ lỗi lỗi này trong Visual studio như theo mặc định IIS express sử dụng nhóm ứng dụng 32 bit. Để thay đổi nó thành 64-bit, người ta phải thực hiện thay đổi trong registry (đặt Use64BitIISExpress thành 1) Không có inetmgr cho IIS Express.

Các vấn đề liên quan