欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2025/3/11 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 数据库,中文乱码问题...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。