pl/sql导出csv文件,导入csv文件

本文分享了从开发数据库向测试数据库迁移大量数据的经验,包括解决CSV导出乱码、日期格式错误及PL/SQL客户端卡死等问题。

最近一项工作是将开发数据库的几张表的数据复制到测试数据库中

一开始项目经理说可以粘贴复制,不是很懂这个要怎么粘贴复制,但是几万条甚至最多的一张表数据是13万

所以我决定用文本导入,因为用sql导入的性能不如csv文件

所以我导出csv文件,但是csv文件乱码,在检查环境变量的配置正确,并且开发和测试数据库的编码格式一致

我查出pl/sql好像有一种bug,当你在英文输入法下导出,就会出现中文乱码,但是切换到中文输入法,就不会

接着,导出csv不会有中文乱码的问题了,但是date格式导入时发生错误,在导入页面点击date类型的字段进行函数调用

最后的问题是,如果数据量过大,pl/sql客户端会出现卡死,无响应的情况,

此时不要退出重新导入(我一直在反复退出,重开pl/sql,导入,浪费了不少时间),可另外开个pl/sql,检查这张表的数据

是否在增加,如果在增加,说明后台仍在导入,无响应可不必管

以上

转载于:https://www.cnblogs.com/aiwen/p/10725022.html

### 使用 PL/SQL Developer 导出数据的方法 PL/SQL Developer 是一款强大的集成开发环境 (IDE),主要用于编写和调试 PL/SQL 代码。除了支持 SQL 和 PL/SQL 的编辑与执行外,该工具还提供了多种方式来管理和操作数据库对象以及导出数据。 #### 方法一:通过查询结果窗口导出数据 当在 PL/SQL Developer 中运行 SELECT 查询并获取到所需的数据集之后,可以通过右键点击查询结果窗口中的任意位置,在弹出菜单中选择 **Export Data** 来启动导出向导[^1]。此功能允许用户指定要保存文件的位置、名称及其格式(如 CSV、Excel 或者 HTML)。完成设置后单击 Finish 即可将表格形式的结果另存为外部文件。 #### 方法二:利用内置脚本实现自动化批量处理 对于更复杂的场景或者需要定期重复的任务来说,则可以考虑创建存储过程或匿名块来进行定制化的数据抽取工作。例如下面这段简单的 PL/SQL 脚本展示了如何把特定表里的记录写入操作系统级别的文本文件: ```plsql DECLARE v_file UTL_FILE.FILE_TYPE; BEGIN -- 打开目标路径下的新文件准备写入 v_file := UTL_FILE.FOPEN('EXPORT_DIR', 'output.txt', 'W'); FOR rec IN (SELECT * FROM employees) LOOP -- 将每一行的内容逐条追加至文件末尾 UTL_FILE.PUT_LINE(v_file, rec.employee_id || ',' || rec.first_name); END LOOP; -- 关闭已打开的句柄释放资源 UTL_FILE.FCLOSE(v_file); END; / ``` 上述例子假设已经配置好名为 `EXPORT_DIR` 的目录别名指向实际磁盘上的某个合法输出地址;并且拥有足够的权限去读取源表结构信息以及往目的地点放置最终产物。 #### 方法三:借助第三方插件扩展能力 如果以上两种途径仍无法满足需求的话,还可以探索一下社区里是否存在适用于 PL/SQL Developer 的附加组件或是其他开源项目能够帮助简化这一流程。比如某些插件可能提供图形界面让用户更加直观便捷地设定参数选项从而加快工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值