Tôi đang cố gắng chèn một lượng lớn dữ liệu nhị phân vào cơ sở dữ liệu Oracle (11g) từ xa bằng Entity Framework (ODP.Net). Nó hoạt động tốt cho các tệp thực sự nhỏ (< 5 KB), nhưng đối với những tệp lớn hơn (ví dụ: 44 KB), tôi gặp lỗi: "ORA-03135: liên hệ bị mất kết nối"."ORA-03135: kết nối bị mất liên lạc" khi chèn tập tin lớn
Tôi không nghĩ rằng nó đã hết thời gian, vì ngoại lệ xảy ra trong vòng một giây sau khi thực hiện lệnh.
tôi đã cố gắng thiết lập cả những điều sau đây trong chuỗi kết nối của tôi, nhưng không có kết quả:
Validate Connection=true
Pooling=false
Tôi cũng nhìn vào tập tin listener.log
trên máy từ xa. Nó cho thấy các kết nối được thực hiện, nhưng không có dấu hiệu của trường hợp ngoại lệ hoặc chấm dứt kết nối.
Tôi đang sử dụng các bản sửa lỗi hoặc phương pháp khắc phục được đề xuất.
Edit:
Cùng SQL hoạt động làm việc khi truy cập vào một thể hiện của Oracle trên mạng nội bộ.
Có lẽ không phải vậy, nhưng tôi có "ORA-03135: kết nối mất liên lạc" trên đồ vật lạ khi kết nối không bị mất rằng Oracle không còn có thể nuốt câu lệnh SQL được gửi. Tôi đã nhận nó trên các truy vấn rất lớn (> 2000 dòng mã). Có lẽ tôi đang gửi cho bạn đúng hướng nhưng tôi nghĩ sau 4 giờ không có câu trả lời tôi ít nhất có thể cho bạn biết rằng mảnh kinh nghiệm của riêng tôi. Đối với tôi, có vẻ như thông báo luôn xuất hiện khi trình phân tích cú pháp của lệnh SQL bị lỗi trong nền. – hol
Có thể đáng để kiểm tra nhật ký cảnh báo trên máy từ xa để xem có báo cáo lỗi hay không. Nếu không, nó có thể chỉ ra vấn đề đang ở cuối khách hàng, không phải máy chủ. Ngoài ra, có bất kỳ tường lửa nào trên đường đi hay bất kỳ thứ gì khác ở cấp mạng có thể có các nhật ký mà bạn có thể kiểm tra? –
Nhật ký mạng sẽ hữu ích. Tường lửa không được bật và đó là máy chủ Windows lưu trữ Oracle. Tôi không chắc nơi lưu lượng truy cập TCP được đăng nhập trên máy Windows, nhưng tôi có thể phải tìm ra điều đó. –