Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Không thể chèn các ký tự tiếng Ả Rập vào cơ sở dữ liệu oracle

Trước tiên, bạn có thể kiểm tra tham số NLS_CHARACTERSET của cơ sở dữ liệu của mình bằng lệnh SQL * PLUS:-

chọn * từ v $ nls_parameters trong đó tham số ='NLS_CHARACTERSET';

kết quả sẽ là

THÔNG SỐ

GIÁ TRỊ

NLS_CHARACTERSET

AR8MSWIN1256

nếu không, bạn phải thay đổi giá trị của tham số này bằng cách sử dụng:-

  • nhấn WINDOWS KEY + r trên bàn phím của bạn

  • ghi:- SQLPLUS sys as sysdba

  • nhấn Enter rồi nhập mật khẩu hoặc nhấn Enter khác

  • đưa ra các lệnh sau:

  • HIỂN THỊ NGAY LẬP TỨC

  • HẠN CHẾ KHỞI ĐỘNG

  • BỘ ĐẶC TRƯNG CƠ SỞ DỮ LIỆU ALTER INTERNAL_USE AR8MSWIN1256;

  • BỘ KÝ TỰ CƠ SỞ DỮ LIỆU ALTER AR8MSWIN1256;

  • HIỂN THỊ NGAY LẬP TỨC

  • BẮT ĐẦU

  • thay đổi giá trị của chuỗi đăng ký NLS_LANG thành AMERICAN_AMERICA.AR8MSWIN1256

    nếu hệ điều hành của bạn là phiên bản UNIX sử dụng

AR8ISO8859P6 thay vì AR8MSWIN1256 dưới dạng giá trị của NLS_CHARACTERSET

  • KHÔNG sử dụng kiểu dữ liệu Quốc gia (tức là NVARCHAR, NTEXT hoặc NCLOB) trong cơ sở dữ liệu của bạn trừ khi bạn định sử dụng các ngôn ngữ khác ngoài (tiếng Ả Rập và tiếng Anh) trong cơ sở dữ liệu của mình

  • Bộ ký tự AR8MSWIN1256 đủ để trộn tiếng Ả Rập và tiếng Anh trong cùng một trường (theo như tôi biết).

KỂ TỪ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhiều cơ sở dữ liệu với các mô hình thay đổi một chút. Làm cách nào để cho phép `EF` hoạt động với các cấu trúc cơ sở dữ liệu khác nhau tại thời điểm chạy?

  2. Chạy các tập lệnh Oracle SQL với Ansible playbook

  3. Cách xử lý chính xác ngày tháng trong các ràng buộc truy vấn

  4. Nhiều giá trị tối đa trong một truy vấn

  5. Oracle xoay các hàng thành cột