你的位置:首页 > 数据库

[数据库]如何用Excel直接查询Oracle中的数据


将Oracle中查询的数据保存为Excel文件,通常使用的是PL/SQL Developer。

其实,Excel可直接写SQL语句查询Oracle中数据,在这里,用到ODBC驱动。详细步骤如下:

一、配置ODBC数据源

开始->控制面板->系统和安全->管理工具->ODBC数据源(可根据自己的情况选择32位还是64位)。

因本机安装的是Oracle 11.2.0.4 64位,故选择ODBC数据源(64位),显示如下:

点击“添加”,选择“Oracle in OraDb11g_home1”这一项,点击“完成”

进入Oracle ODBC配置项,需要填写的有四项,

Data Source Name:其实就是给该数据源取一个名字,在本例中我取的是“Oracletest”。

Description:对该数据源的描述,可写可不写

TNS Service Name:即网络服务名,这个是在Oracle客户端tnsnames.ora中定义,我的是“test”。tnsnames.ora中对应的内容如下:

TEST = (DESCRIPTION =  (ADDRESS = (PROTOCOL = TCP)(HOST = Lenovo-PC)(PORT = 1521))  (CONNECT_DATA =   (SERVER = DEDICATED)   (SERVICE_NAME = test)  ) )

User ID:用户名,该用户必须对所查询的表有可读权限。

配置完毕后,点击“OK”即可。

二、在Excel中进行查询操作

注:我的Excel版本是2013。

数据->自其他来源->来自Microsof Query,如图所示:

选择数据源“Oracletest”,点击“确认”。

输入scott用户的密码,点击“OK”。

添加表,可通过“Owner”进行筛选

在这里,我们选择EMP表,对其相关操作可通过左上角的“SQL”执行。

最后生成的结果,可通过“将数据返回到Excel”按钮(在“SQL”按钮左边)保存到Excel中

最后Excel生成的结果如下所示:

 刚测试了一下,可对两张表进行等值连接查询。