日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle 导入sql文件 汉字乱码_将现有的sql脚本导入 Oracle 数据库,中文乱码问题...

發布時間:2025/3/11 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 导入sql文件 汉字乱码_将现有的sql脚本导入 Oracle 数据库,中文乱码问题... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

將現有的sql 腳本導入 Oracle數據庫

比如 在windows 系統下,可以寫一個 bat 來實現直接導入

如:bat 中的內容如下,logs.log 將會記錄執行日志

sqlplus user/password@dbname @create.sql > logs.log

create.sql 中的內容可以是需要執行的sql 語句,也可以是其他sql 腳本,如:

@leave_create.sql

exit

leave_create.sql 中的內容如下

create table a_employee (

id number(10) primary key ,

name varchar2(255) not null,

password varchar2(255) not null ,

email varchar2(255) ,

role varchar2(255) ,

manager_id number(10)

);

create sequence seq_employee minvalue 1 nomaxvalue start with 1 increment by 1 nocycle nocache;

INSERT INTO a_employee(id,name,password,email,role,manager_id) VALUES (seq_employee.nextval,'老板','123','ee@163.com','boss',NULL);

INSERT INTO a_employee(id,name,password,email,role,manager_id) VALUES (seq_employee.nextval,'主任','123','cc@163.com','manager',1);

INSERT INTO a_employee(id,name,password,email,role,manager_id) VALUES (seq_employee.nextval,'員工','123','aa@163.com','user',3););

commit;

執行bat 文件,理論上數據創建完成。

打開日志文件,發現文件中報錯

ERROR:

ORA-01756: quoted string not properly terminated

查詢數據,發現 中文顯示亂碼

解決方法:

檢查客戶端的編碼格式

使用sqlplus 連接數據庫 執行?Select?userenv('language')?from?dual; ?查詢結果為:AMERICAN_AMERICA.ZHS16GBK

設置windows 環境變量

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

TNS_ADMIN=D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN (客戶端的安裝路徑下)

sql 腳本也有一定的編碼格式(可以使用客戶端連接工具保存的sql 文件 來保證sql 腳本文件的編碼正確性)

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的oracle 导入sql文件 汉字乱码_将现有的sql脚本导入 Oracle 数据库,中文乱码问题...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。