oracle导入sql文件

公司以前都是用dmp操作数据导入导出,最近从别的地方人家给是sql文件数据库文件,不得不学习一下如何导入大文件的sql,好应对各种突发情况。
1、首先得会使用sqlplus连接远程数据库
sqlplus 用户名/密码@远程数据库ip:端口/实例名
2、连接成功之后使用命令

sql>@E:\areadata.sql;
sql>@/opt/oracle/area.sql;

有时候中文会出现乱码问题,或者报错。例如:

ERROR:
ORA-01756: quoted string not properly terminated

此时,需要排查数据库服务器的字符集和client的字符集
1.排查数据库服务器字符集:

sql>select userenv(‘language‘) from dual;
---AMERICAN_AMERICA.ZHS16GBK【此处的字符集是这个】

2.排查client字符集
在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,比如:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK

在linux下,修改bash_profile文件

$ vi .bash_profile
NLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘; export NLS_LANG

这个也可能跟sql文件有关,大家可以试试设置client字符集,多试两个应该就可以了。

另外有些文件里面可能会出现一些空格之类的字符,到了sqlplus里面就会变成?,例如下面的等待输入,往往会影响导入的时间:
sql>Enter value for nbsp;

所以需要在执行sql>@E:\areadata.sql时先设置一下关闭替代变量功能
sql>set difine off;
这样子就不会出现导入时等待的情况了,大大提高了导入文件的效率。

原文地址:http://blog.51cto.com/meiling/2130827

时间: 2024-11-06 03:42:25

oracle导入sql文件的相关文章

oracle导入sql文件,并且记录日志

一.导入.sql文件 @data.sql 二.记录日志: 1.输入命令  sqlplus 数据库名/密码@数据库   按回车键 2.输入spool  指定路径:\a.log    按回车键  (此步骤的主要作用就是追踪批量执行sql的日志,路径随便写,只要能找到就行,a.log可以随便起名,但是必须要.log后缀) 5:@start.sql  按回车键(在批量sql文件夹下写一个文件,名字叫start.sql,其中在这个文件里面写批量sql的文件名) 具体格式如下:@@sql的文件名.sql;

php导入sql文件

sql php php导入sql文件 基本思路 1.打开sql文件,放入一个变量(字符串类型)当中 2.使用正则替换掉当中的注释("--"与"/**/") 3.使用explode分割成为一个数组并去除每行的空格 4.链接数据库之后使用my_query()执行sql 代码 <?php // +--------------------------------------------------------------------------------------

MYSQL 编码方式 ------导入 .sql 文件 报编码错误

在做计量泵上位机时,利用MYSQL存储数据,建表hisruninfo(计量泵历史运行数据表). 表格式为utf8,查过数据库 格式 同样为utf8 导入该hisruninfo.sql文件时,并没有报错,表能建起来,但是,导入另外一个插入数据的data1.sql文件时,报错--中文字符不能识别. 插入内容并没有错 后来是将data1.sql 另存为.sql 文件时,编码方式该位 utf8  之后就能导入!  导入.sql文件 命令:source

MySql WorkBench 导入sql文件 中文出现乱码

在workbench中导入sql文件. 查看系统的编码. 导入sql文件时出现了如下警告.但是文件是UTF-8.由于包含中文,使用latin1编码方式会出现乱码. 选择UTF-8,出现错误. 不知道什么原因,将sql文件转为UTF-8编码格式还是出现上述错误. 最后在命令行中新建数据库,导入sql文件.查询一下,乱码问题解决. 请问,是什么原因呢??

MySQL命令行导入sql文件时出现乱码解决方案

Note: sql> source F:weibo.sql(执行相关sql文件) sql> select * from sina into outfile "/weibo.txt"(导出相应数据到C:的weibo.txt) 1. mysql 5.0后其客户端仅支持gbk,故可在sql> set names gbk; 例如: set names gbk; /* Navicat MySQL Data Transfer Source Server : localhost_3

命令行导入SQL文件

摘要:把数据库导出为XX.sql格式的数据库文件,导入到另外一个数据库中的时候,总是无法全部导入.及时用mysql的命令界面导入依然是无法全部导入.老师告诉我:在命令行中运行的效率和成功率是最快和最高的.所以查了一下如何用命令行导入SQL文件,方法很简单! 1.首先运行cmd(注意此处要用管理员身份运行)或者“开始菜单”-->附件-->命令提示符(右键)-->以管理员身份运行 2.进入mysql的bin目录 3.运行:mysql -u root -proot test <I:\re

mysql source命令导入sql文件效率分析

Query OK, 24918 rows affected (0.90 sec)Records: 24918  Duplicates: 0  Warnings: 0Query OK, 24923 rows affected (2.26 sec)Records: 24923  Duplicates: 0  Warnings: 0Query OK, 24924 rows affected (2.74 sec)Records: 24924  Duplicates: 0  Warnings: 0Quer

mysql 导入sql文件时 max_allowed_packet 选项的设置

mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES like '%max_allowed_packet%'; 显示的结果为: +--------------------+---------+ | Variable_name      | Value   | +--------------------+---------+ | max_allowed_

navicat导入sql文件

Hello,大家好.Navicat是我们平时使用较多的一个数据库客户端工具,平时小天我主要是用来连接mysql的,使用的时候还是很方便的. 今天小天我就给大家分享一个Navicat如何导入导出sql文件. 工具/原料 安装了navicat的电脑 方法/步骤 打开你的navicat:下图有一个快速打开的方法,小伙伴们可以试试.   双击打开你需要导出的数据库,然后右键单机会有一个弹出框. 例如:我想要导出"本地"连接>webdb数据库的sql文件.如图   如何是导出sql文件的话