Thiết lập tối thiểu cần thiết để có thể triển khai một ứng dụng .NET nói chuyện với một cơ sở dữ liệu Oracle là gì?Thiết lập tối thiểu cần thiết để triển khai một ứng dụng .NET với máy khách Oracle 11 là gì?
Trả lời
Josh-
Cảm ơn bạn rất nhiều vì đã dành thời gian để câu trả lời. Hướng dẫn của bạn đã giúp rất nhiều, và rất gần với những gì tôi đã tìm thấy trên của riêng tôi.
Thú vị đủ, tôi thấy nó có thể được làm mỏng hơn một chút.
Đối với những người trong hoàn cảnh của tôi người
- Không muốn người dùng của họ có cài đặt ODAC hoặc kích thước đầy đủ Oracle Khách hàng
- Đừng quan tâm đến việc tái khả năng sử dụng của installtion đặc biệt khách hàng
- Cần một giải pháp tương thích "clickOnce"
Tôi đã tìm được cách để thực hiện điều đó.
a. Tải về "Oracle Instant Client 11.1.0.6 - Basic Lite". b. giải nén với bất kỳ thư mục và sao chép các tập tin sau đây cho Visual Studio gốc của dự án của bạn:
- oci.dll
- ociw32.dll
- orannzsbb11.dll
- oraocci11.dll
- oraociicus11.dll
msvcr71.dll (không cần thiết, nên được cung cấp với hầu hết các phiên bản Windows)
(năm đầu tiên là mức tối thiểu cần thiết cho Oracle Instant Client, cuối cùng là thời gian chạy chung của microsoft mà họ sử dụng.)
c. Tải xuống bản XACopy ODAC 11 (phiên bản hiện tại là 11.1.0.6) và giải nén.
OraOps11w.dll - trong thư mục odp.net20, nằm trong thư mục gốc của dự án.
(tệp này là những gì Oracle.DataAccess.dll trao đổi và sử dụng để làm việc với các tệp Instant Client).
d. Để tương thích với triển khai ClickOnce, hãy chọn những tệp này trong dự án của bạn và đảm bảo chúng là "Nội dung" và "Sao chép Địa phương" trong dự án của bạn. Tệp kê khai sau đó sẽ triển khai chúng đúng cách.
Kết quả ... payload bổ sung vào dự án của bạn là 30MB, mà kinda sucks, nhưng tốt hơn nhiều so với 100 hoặc 400 +, hỗ trợ nhân vật phương Tây, nhưng đá mông ở chỗ
- nó đòi hỏi không có đường dẫn,
- không đòi hỏi các khóa registry ,
- bị cô lập trong quá trình triển khai và không cài đặt các ứng dụng Oracle Client khác,
- hoạt động sẽ tất cả DB trở lại 9.2.
Cảm ơn bạn. Tôi đã không thể chạy một ứng dụng xây dựng cho ODAC, và điều được, tôi quên DLL cần thiết của. – maxwellb
oraociicus.dll nên là oraociicus11.dll – cjbarth
Điều này làm việc rất tốt nếu không có khách hàng Oracle được cài đặt. Nhưng tôi đã quan sát thấy một số xung đột nếu một máy khách hoặc máy chủ Oracle (ví dụ: trên máy phát triển của tôi) được cài đặt (phiên bản khác với được triển khai). Trong trường hợp này, tôi phải tránh đặt các DLL khách hàng tức thời trong thư mục bin của dự án Visual Studio. –
- Tải xuống triển khai ODAC 11 XCopy.
Giải nén file zip và chạy như sau:
install.bat odp.net20 c: \ oracle \ 11.1 \ myoraclehome odac đúng
Sao chép các tập tin từ thư mục 11.1 và đặt chúng trong một thư mục con của tệp thực thi của ứng dụng của bạn (ví dụ: debug \ bin \ oracle)
Thêm các câu lệnh sau vào phương thức Main() của bạn. Họ sẽ thay đổi đường dẫn như vậy mà ứng dụng của bạn thực thi sẽ sử dụng ứng dụng oracle độc quyền của bất kỳ nhà oracle nào khác. Sự thay đổi môi trường là độc quyền cho quá trình của bạn và không có tác động lâu dài khi ứng dụng chấm dứt:
Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\oracle\\11.1\\odac;" + Environment.CurrentDirectory + "\\oracle\\11.1\\odac\\bin;", EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ORACLE_HOME", Environment.CurrentDirectory + "\\oracle\\11.1\\odac", EnvironmentVariableTarget.Process);
Bạn quên mất một con dê. –
Với ODAC 11.2, dấu chân của việc triển khai xcopy thực sự (như được mô tả bởi trey ở trên) là 130MB. Nếu bạn đang triển khai nhiều ứng dụng, dấu chân này sẽ phát triển nhanh chóng. Giải pháp của Josh ở trên (cài đặt vào một thư mục, có DLL không quản lý địa chỉ thông qua PATH) là một lựa chọn tốt. –
Một thay thế cho thay đổi có lập trình PATH trong thời gian chạy là sử dụng cài đặt cấu hình ứng dụng: configuration/oracle.dataaccess.client/settings/add name = "DllPath" để báo cho trình điều khiển oracle biết đường dẫn dll không được quản lý ở đâu. Xem http://docs.oracle.com/html/E15167_01/InstallODP.htm Phần "Tìm kiếm đơn đặt hàng cho DLL không được quản lý". Phương pháp này cũng sẽ đảm bảo hỗ trợ cho phiên bản bên cạnh. –
Im chạy với ứng dụng khách nhanh oracle 11g. Sau đây, và rất tối thiểu, danh sách các tập tin là những gì ive thấy cần thiết cho việc triển khai:
OCI.dll
Oracle.DataAccess.dll
OraOCIEI11.dll
OraOps11w.dll
Chỉ cần cài đặt đầy đủ cho khách hàng và sao chép các tập tin từ thư mục bin.
Đã xác nhận cho W2K8R2 .Net 4.0 application –
Man, bạn là người tiết kiệm cuộc sống! Làm việc như người ở! Tks rất nhiều – Pascal
Than ôi, tôi không thể làm điều này để làm việc. Tôi đã thêm các DLL vào dự án thiết lập của tôi và chúng được triển khai cùng với .EXE của tôi (là một Dịch vụ Windows, nếu vấn đề đó). Khi cố gắng khởi động dịch vụ, tôi nhận được xác nhận TypeInitializationException "Nhà cung cấp không tương thích với phiên bản của máy khách Oracle" - đó là điều tương tự khi tôi chỉ có Oracle.DataAccess.dll (nhà cung cấp/trình bao bọc). Có lẽ các DLL không được quản lý, vì vậy tôi không nghĩ rằng tôi nên (hoặc có thể) đặt chúng trong GAC. Có cần đăng ký/cài đặt nào ngoài "triển khai xcopy" không? –
Cách đây một lúc, đây là chủ đề mà chương trình của tôi hoạt động (THANKS!). Tôi đã được thông báo rằng Oracle không thích bạn chọn ra 6 dll và thả chúng vào thư mục thực thi của bạn. Vì vậy, bây giờ, mọi dll được cài đặt khi chạy install.bat odp.net2 c: \ oracle odac phải được đặt trong thư mục thực thi của bạn (chiếm không gian)
Rất hữu ích, tôi đã cố gắng và cố gắng để triển khai các dlls không thành công như nhiều người đã nói rằng bạn có thể. Sau đó, tôi thấy câu trả lời này với một ngày gần đây và reliased tất cả các bài viết khác là tương đối cũ. Tôi đã từ bỏ cố gắng để bin triển khai các dlls, và chỉ cần chạy 'install.bat odp.net4 c: \ oracle odac' trên máy chủ. –
- 1. Các tệp tối thiểu cần thiết để triển khai máy chủ webAPI
- 2. .NET - triển khai ứng dụng khách WCF, không có app.config
- 3. Số hàng tối thiểu cần thiết để tạo chỉ mục là gì?
- 4. TD width - mức tối thiểu cần thiết sử dụng CSS
- 5. Thiết lập proxy cho máy khách HTTP
- 6. Entity Framework 5.0 - phiên bản .NET Framework tối thiểu cần thiết? .Net 4.0 hoặc 4.5?
- 7. Thiết lập Node.js để dễ triển khai và cập nhật
- 8. Cần trợ giúp thiết lập hành khách với RVM
- 9. Triển khai LocalDB trên máy khách
- 10. Môi trường công ty thù địch nhất để triển khai ứng dụng .NET WinForms là gì?
- 11. Triển khai tối thiểu của couchdb trên các cửa sổ
- 12. Thiết lập máy chủ phát triển
- 13. Cột bảng, thiết lập cả chiều rộng tối thiểu và tối đa với css
- 14. Có thể thiết lập CultureInfo cho một ứng dụng .NET hay chỉ là một chuỗi?
- 15. Thiết lập các ứng dụng độc lập cygwin
- 16. Triển khai liên tục các thiết lập IIS với MSDeploy
- 17. Làm thế nào để triển khai một máy chủ tối thiểu cho AJAX bằng Python?
- 18. Xác định những cái lọ tối thiểu là cần thiết cho một tính năng
- 19. Tìm điểm mà tổng khoảng cách để thiết lập các điểm khác là tối thiểu
- 20. Triển khai ứng dụng khách SOAP trong C# với WCF và .NET 4.0
- 21. Cách triển khai ứng dụng C# .net với MongoDB
- 22. Nén node_modules để triển khai phía máy khách
- 23. Cách tốt nhất để thiết lập môi trường phát triển PHP trên máy Mac là gì?
- 24. Triển khai ứng dụng web .NET 4.5 với Triển khai Web
- 25. Cách thiết lập xây dựng/triển khai cho dự án .net trên Jenkins
- 26. Máy chủ web nguồn mở tối thiểu?
- 27. Thiết lập kho Git để phát triển từ hai máy?
- 28. Cách thiết lập kết nối máy khách http tối đa trong Node.js
- 29. Lỗi khi cố gắng kết nối với cơ sở dữ liệu Oracle 10g từ chương trình C# sử dụng cấu hình thiết lập tối thiểu
- 30. Cách tốt nhất để triển khai một ứng dụng Java trên một cụm máy chủ là gì?
http://stackoverflow.com/questions/70602/what Cơ sở dữ liệu -is-the-minimal-client-footprint-required-to-connect-c-to-an-oracle- – Mac