SQL Server读取采集Oracle数据的两种方法
阙圣贵(江苏省南通市审计局)
【发布时间:2012年10月11日】
字号:【大】 【中】 【小】
    
    鉴于Oracle数据库配置、查询比较复杂,而一般审计人员又没有经过Oracle数据库专业培训,但对于SQL Server数据库的使用比较精通,所以,本文介绍几种通过SQL Server采集、读取Oracle数据库的数据,然后在SQL Server中进行审计分析的方法。
    
    一、测试环境
    服务器端操作系统:Windows 2008 Server(32位)
    服务器端数据库:Oracle10g
    数据库名:hasb
    数据源名:hasb
    数据库用户名:hasi    数据库密码:O87654321
    服务器IP地址:32.129.212.25
    客户端操作系统:Windows XP SP3
    客户端数据库:Sql Server2008,Oracle数据库客户端(如已安装oracle则无需安装客户端)
    客户端IP地址:与服务器同在一个局域网中
    
    二、客户端相关设置
    此操作是后面数据获取的基础性工作,也是难点。
    (一)Oracle数据库客户端
    1、运行oracle客户端程序的Oracle Net Configuration Assistant     


    2、选择“本地网络服务名配置”后点击“下一步”     


    3、选择“添加”后点击“下一步”     


    4、输入oracle服务器数据库名称“hasb”后点击“下一步”     


    5、选择“TCP”后点击“下一步”     


    6、输入服务器主机名称“database”,默认使用标准端口号1521,无需修改。点击“下一步”。


    7、进行测试


    8、测试不成功,点更改登录


    9、输入oracle数据库用户名(hasi)和密码(O87654321)


    10、测试成功,点下一步


    11、输入网络服务名称(任意取名)     


    12、点“否”,下一步,结束配置


    (二)创建一个服务名“hasb”服务
    1、运行“配置和移植工具”的“Net Manager”

     
    2、配置一个服务名为“hasb”服务(如下图),供链接


    三、SQL Server中读取、采集Oracle数据的两种方法
    方法一:利用Sql Server2008的SQL Server Management Studio(企业管理器)中“服务器对象—链接服务器”功能,直接连接Oracle服务器读取数据。
    1、运行Sql Server2008的SQL Server Management Studio,鼠标右击“服务器对象—链接服务器”,点击“新建链接服务器”


    2、在弹出的“新建链接服务器”对话框中“常规”选择页进行设置。


    3、再点击“新建链接服务器”对话框中“安全性”选择页进行设置,选择“使用此安全上下文建立连接”,并输入登录oracle数据库用户名和密码,点“确定”关闭对话框


    4、打开SQL Server Management Studio,鼠标左击“服务器对象—链接服务器”,即可看到新建成功的oracle数据库HASB链接。


    5、逐级打开“HASB”—“目录”—“default”—“表”—“系统表”,即可看到Oracle服务器上HASB数据库中各表。


    6、鼠标右击某数据表后弹出的下拉菜单“编写表脚本为”—“ SELECT到”—“新查询编辑器窗口”


    7、点击工具栏“执行”后,即将Oracle数据库HASB的AC01表数据查询到客户端屏幕。


    8、如果审计人员结合AO(现场审计实施系统)中进行此操作,可进一步提高审计人员的工作效率,操作步骤如下。
    (1)运行AO2011,点击菜单“采集转换”—“连接大型数据库”


    (2)点击“数据源”下拉框下“HASI”即将此用户可以查看的数据库表显示出来,然后在右侧查询语句编辑窗口进行查询。我们可以在 SQL SERVER中对有关表进行整理分析,形成转换电子账簿所需的各表,然后导入AO中形成账套,以及对相关业务数据进行分析。     


    方法二:利用Sql Server2008的SQL Server Management Studio(企业管理器)中“导入”功能,将服务器端Oracle数据库的“HASB”数据表导入到客户端Sql Server2008进行查询。
    1、新建数据库“hasb”,选择数据库“hasb”,鼠标右击“任务-导入数据”。

     
    2、在选择数据源窗口,选择“Oracle provider for OLE DB”,再点击“属性”,进行如下设置:数据源填写“hasb”(这是oracle数据库数据源);使用指定的用户名和密码,用户名称填写“hasi”(oracle中hasb数据库的用户名),密码填写“o87654321”(连接hasi数据库,用户hasi的密码);将允许保存密码前打“√”。最后点击“测试连接”,成功后点“确定”关闭数据链接属性窗口。点“选择数据源”窗口的“下一步”。

     
    3、在“选择目标指定要将数据复制到何处”窗口进行如图所示设置。服务器名称填写SQL Server2008名称或服务器IP地址;选择“使用SQL Server身份验证”,输入用户名“sa”,密码为SQL 数据库SA的密码,数据库选择新建的“hasb”数据库,最后点“下一步”。


    4、在“指定表复制或查询”窗口,选择“复制一个或多个表或视图的数据”,点“下一步”。


    5、在“选择源表和源视图”,钩选需要导入的数据表,并针对每张表点击“编辑映射”,根据需要对相关数据字段类型进行设置。设置结束后在“列映射”窗口点击“确定”关闭窗口,最后点击“选择源表和源视图”的“下一步”。




    6、如果不出现问题,将顺利把所需数据导入到SQL数据库中;如果有情况,则需要检查各表字段类型是否正确设置好。下图显示共导入AAAA7表的167行记录。    


    四、总结
    通过以上两种方法,使能够熟练掌握SQL Server2008数据库操作的审计人员,通过对两种数据库简单的配置后,利用相关工具,顺利连接到被审计单位oracle数据库读取、采集审计所需财务、业务数据,再对表与表之间的关系,整理生成审计资料,并在SQL Server2008中通过编写SQL语句进行查询、分析,提高审计工作效率。(阙圣贵)
【关闭】    【打印】