tôi đã xác định nls_date_format toàn cầu về Oracle 10,2 XE như sau:Làm thế nào để thay đổi nls_date_format mặc định cho oracle client jdbc
alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
Khi kết nối trên Windows, khách hàng ghi đè bằng định dạng phiên cụ thể, vì vậy tôi cần phải chạy dòng này vào đầu mỗi phiên:
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
Tuy nhiên, tôi có một số mã tùy chỉnh mà tôi không thể thay đổi (mã jdbc, sử dụng ojdbc14.jar), vì vậy tôi không thể thực hiện dòng này khi nhận sự kết nối. Có cách nào để thay đổi giá trị mặc định của nls_date_format cho tất cả các kết nối jdbc không? Có lẽ thêm một cái gì đó vào chuỗi kết nối, hoặc một số biến môi trường mà tôi có thể sử dụng? Bằng cách này, sqlplus và sqldeveloper cũng ghi đè lên định dạng của máy chủ với riêng của họ, nhưng tôi đã tìm ra cách thay đổi các giá trị mặc định của chúng, do đó, vấn đề chỉ là với các kết nối jdbc.
Xem http://stackoverflow.com/questions/283589/oracle-setting-per-user-default-scheme-not-altering-a-session vào việc tạo ra kích hoạt cho lược đồ cụ thể. – Vadzim
Tôi đã thử điều này, nó hoạt động, nhưng nó làm chậm mọi thứ xuống đến mức nó không thể đếm được (chọn số (*) trên một bảng trống mất vài giây !!!) – laurent
@laurent âm thanh với tôi như vấn đề của bạn đang ẩn ở nơi khác. Chúng tôi đã sử dụng kích hoạt đăng nhập này trong sản xuất với nhiều khách hàng trong nhiều năm và không có vấn đề gì. – Yoni