工作中我们可能遇到这样的需要:查询数据库中的信息并将结果导出到Excel文件。这本来没什么但数据量比较大时,用PLSQL、toad导出Excel会出现内存不足等情况使用odbc+Microsoft query + Excel导出提数结果能在一定程度上避免这些问题。
环境:个人电脑8G内存导出130W条记录毫无压力。
下载该组件可能单击 download,没有反应鼠标移动到要下载的软件位置,可用右击“目标另存为”方式下载要下载的组件
选择下面两个版本中的任何一项均可:
该组件直接解压即可无需安装。解压到某个指定的目录下在解压后的文件目录下创建子目录/network/admin,并将配置好的tnsname.ora文件拷贝到该目录下(或手动创建该文件并配置该文件步骤略)
右击計算机—>属性—> 高级选项卡à环境变量—>新建系统变量或用户变量(用户变量只对当前用户有效,系统变量对所有用户有效)à设置环境变量ORACLE_HOME指向解压文件目录。“确定”退出
四、配置odbc数据源
(1)打开odbc数据源管理工具
方式二:控制面板-->管理工具-->数据源
(4)填写ODBC配置信息并测试连通性
填写odbc数据源配置信息,标注部分为必填项数据源名称为任意有含义的字符串,可用中文TNS Server Name格式为“ip:port/数据库名称”,User ID 为访问数据库的用户名(port默认是1521,请记得防火墙和杀软放行1521端口),数据库名称选用tsnnames.ora文件中的SERVICE_NAME的值
第一种,填写完整格式:TNS Service Name的完整格式是: 数据库主机名:端口号/数据库實例名
第二种:如果配置的数据源很多,可以按照Oracle instant Client这里安装了instant client,并设置了TNS_ADMIN的环境变量TNS Service Name选项下会有所有已经设置TNS的数据库实例名列表。当要操作的数据库实例比较多时这种方法很方便。
填写完毕先测试数据源连通性“Test Connection”,输入密码,“OK”
若提示连接成功说明配置无誤,“确定”“OK”,退出管理程序否则,检查并修改配置信息
执行SQL语句,将结果集较大的查询语句加工到临时表中如下:
五、配置Excel,导出数据
(2)选择配置好的数据源“确定”
(4)选项里可设置查找要导出的对象的范围,进入“选项”
(5)表选项里可设置要导出的对象:表、視图、同义词等注意选择用户,当有大量用户和表时可大大缩小查找范围
(6)在左侧要导出的表中,找到要导出的字段>按钮可将选择好嘚字段导入到右侧的待查询列中。
待筛选的列可根据需要对字段进行条件设置
排序顺序,可选择关键字排序同时可选择多个关键字
导絀默认即可,当然也可以使用Microsoft query编辑查询,实现一些复杂的查询并将结果导出到Excel中。
选择导入到Excel中的位置