论文部分内容阅读
最近我们在对某单位进行财务收支审计获取数据时,发现该单位使用的财务软件后台数据库为InterBase数据库,无法通过AO软件中的模板完成导入。为能更好地应用计算机审计,提高审计效率,为今后能进一步分析和处理以InterBase为后台数据库的财务数据或业务数据,我们查询了大量的理论资料及咨询了包括金审工程服务网站、上级审计机关信息中心专家,经过无数次尝试与失败后,终于成功地进行了取数与转换。回想这一过程,有苦恼、有兴奋,更多的是欣慰,故形成此文,供更多的同仁们探讨交流及学习。
首先,我们来了解一下InterBase数据库:InterBase诞生。
于20世纪80年代,它提供了在单机或多用户环境中的快速数据处理及共享的工具。应用面偏向于紧凑型应用(最小安装包才1M多),每个数据库以单独的文件形式存储。现行主要为InterBase5.6、6.5、7.0等版本,其中5.6版本是该单位财务软件的后台数据库版本。该数据库由于其紧凑型的特点,其自身提供的技术平台功能十分有限,对数据的分析和转换几乎都要依赖于第三方软件,加上全英文的操作界面,为审计人员设置了非常大的障碍。
其次,简单介绍下ODBC数据源,即Open Database Connectivity,开放数据库互连),是微软公司为了协调各不同数据开发公司提供的统一的数据库访问标准API(应用程序编程接口),其强大的数据库链接功能可以让我们很好的在陌生数据库与熟悉的数据库之间建立数据接口,从而实现数据导入导出。需要提醒的是不同的数据库ODBC调用时需要不同的ODBC驱动,这些驱动是由数据库开发商根据API标准编制的。
现在我们的转换工作可以开始了:
第一步,安装调试InterBase。首先将被审计单位的InterBase数据库文件“某公司账套.GDB”拷贝到本地计算机上,设置路径D:数据。安装好InterBase5.6并测试数据是否连通。之后退出InterBase5.6,关闭所有有关InterBase的系统服务项后安装InterBase6.5,再次测试数据是否连通。需要重点强调和说明的是:其一,不能够在被审计单位的计算机上进行以上的操作,因为在同一计算机上安装5.6、6.5版本后可能导致前台财务软件无法调用数据库数据。其二,安装5.6版本是因为InterBase数据库版本系列中只有5.6版本(或更早)提供了有效的ODBC驱动(网络上提供的很多ODBC驱动都是无效的)。最后,必须装6.5版本是因为只有在6.5以上版本才能实现通过ODBC数据源与其他数据库建立互连。
第二步,设置ODBC数据源。我们直接在D:数据路径下新建一个文本文件,然后输入以下内容:
[ODBC]
DRIVER=INTERSOLV InterBase ODBC Driver (*.gdb)
SERVER=
UID=SYSDBA
DB=
其中:“SERVER=”后面需要填写的是本地计算机的名称,“DB=”处需要填写InterBase数据文件的绝对路径:D:数据某公司账套.gdb。然后将此文本文件更名为“InterBase数据源.dsn”。
第三步,数据转换。在保证InterBase6.5运行正常,数据连通成功的条件下,运行SQL企业管理器,新建数据库,使用SQL的数据导入导出功能,通过ODBC数据接口,已经可以完成数据的导出了(可能有三张表无法导出,但不影响结果),SQL数据库中的导入导出操作就不具体表述了。
第四步,SQL中的表结构分析和数据处理。将数据表导入到SQL后,就可以进行数据分析了,通过一定的整理和分析后能够导入AO现场审计实施系统里。由于可能涉及到产权等问题,此处只能略微提示几个重要方面:一是余额表和凭证表中“科目代码”字段是以科目代码表中的“科目序号”为索引的,需要对余额表及凭证表中的科目代码字段进行替换。参考语句:
Select <需要的字段名称……> from
<需要替换的表名> a left join <科目代码表>b
on a.<科目序号>=b.<科目序号>
二是科目余额表与凭证表里的会计年份和月份两个字段是合并的,按照类似“200901”的文本格式保存,需要使用函数分割出年度和月份。参考语句:
Alter table <表名>
Add year char(8),month char(8)
Update <表名>
Set year=left(<字段名>,4),month=right(<字段名>,2)
三是在数据导入SQL时,“期初余额”、“借方发生额”等很多数值型字段存在很多空值,在导入AO时系统会提示导入函数出错,无法完成导入。需要将空值字段替换为0。参考语句:
Update <表名>
Set <字段名称>=0 where <宇段名称> is null
数据转换是否成功是能否更好地应用计算机审计的前提要件,其重要性不言而喻。现实工作中,审计人员面对的是市面上几十种财务软件和近十种数据库软件,并且不同的软件之间的结构、理论基础以及编程语言自成体系、各不相同。这无疑是对审计人员的强大考验。此次对InterBase数据库数据的成功转换,不但能增加对InterBase数据库的了解与掌握能力,同时还能积累使用ODBC建立数据库间链接的实际操作经验,对今后的工作有很好的借鉴意义。(作者单位:宜春市审计局)
首先,我们来了解一下InterBase数据库:InterBase诞生。
于20世纪80年代,它提供了在单机或多用户环境中的快速数据处理及共享的工具。应用面偏向于紧凑型应用(最小安装包才1M多),每个数据库以单独的文件形式存储。现行主要为InterBase5.6、6.5、7.0等版本,其中5.6版本是该单位财务软件的后台数据库版本。该数据库由于其紧凑型的特点,其自身提供的技术平台功能十分有限,对数据的分析和转换几乎都要依赖于第三方软件,加上全英文的操作界面,为审计人员设置了非常大的障碍。
其次,简单介绍下ODBC数据源,即Open Database Connectivity,开放数据库互连),是微软公司为了协调各不同数据开发公司提供的统一的数据库访问标准API(应用程序编程接口),其强大的数据库链接功能可以让我们很好的在陌生数据库与熟悉的数据库之间建立数据接口,从而实现数据导入导出。需要提醒的是不同的数据库ODBC调用时需要不同的ODBC驱动,这些驱动是由数据库开发商根据API标准编制的。
现在我们的转换工作可以开始了:
第一步,安装调试InterBase。首先将被审计单位的InterBase数据库文件“某公司账套.GDB”拷贝到本地计算机上,设置路径D:数据。安装好InterBase5.6并测试数据是否连通。之后退出InterBase5.6,关闭所有有关InterBase的系统服务项后安装InterBase6.5,再次测试数据是否连通。需要重点强调和说明的是:其一,不能够在被审计单位的计算机上进行以上的操作,因为在同一计算机上安装5.6、6.5版本后可能导致前台财务软件无法调用数据库数据。其二,安装5.6版本是因为InterBase数据库版本系列中只有5.6版本(或更早)提供了有效的ODBC驱动(网络上提供的很多ODBC驱动都是无效的)。最后,必须装6.5版本是因为只有在6.5以上版本才能实现通过ODBC数据源与其他数据库建立互连。
第二步,设置ODBC数据源。我们直接在D:数据路径下新建一个文本文件,然后输入以下内容:
[ODBC]
DRIVER=INTERSOLV InterBase ODBC Driver (*.gdb)
SERVER=
UID=SYSDBA
DB=
其中:“SERVER=”后面需要填写的是本地计算机的名称,“DB=”处需要填写InterBase数据文件的绝对路径:D:数据某公司账套.gdb。然后将此文本文件更名为“InterBase数据源.dsn”。
第三步,数据转换。在保证InterBase6.5运行正常,数据连通成功的条件下,运行SQL企业管理器,新建数据库,使用SQL的数据导入导出功能,通过ODBC数据接口,已经可以完成数据的导出了(可能有三张表无法导出,但不影响结果),SQL数据库中的导入导出操作就不具体表述了。
第四步,SQL中的表结构分析和数据处理。将数据表导入到SQL后,就可以进行数据分析了,通过一定的整理和分析后能够导入AO现场审计实施系统里。由于可能涉及到产权等问题,此处只能略微提示几个重要方面:一是余额表和凭证表中“科目代码”字段是以科目代码表中的“科目序号”为索引的,需要对余额表及凭证表中的科目代码字段进行替换。参考语句:
Select <需要的字段名称……> from
<需要替换的表名> a left join <科目代码表>b
on a.<科目序号>=b.<科目序号>
二是科目余额表与凭证表里的会计年份和月份两个字段是合并的,按照类似“200901”的文本格式保存,需要使用函数分割出年度和月份。参考语句:
Alter table <表名>
Add year char(8),month char(8)
Update <表名>
Set year=left(<字段名>,4),month=right(<字段名>,2)
三是在数据导入SQL时,“期初余额”、“借方发生额”等很多数值型字段存在很多空值,在导入AO时系统会提示导入函数出错,无法完成导入。需要将空值字段替换为0。参考语句:
Update <表名>
Set <字段名称>=0 where <宇段名称> is null
数据转换是否成功是能否更好地应用计算机审计的前提要件,其重要性不言而喻。现实工作中,审计人员面对的是市面上几十种财务软件和近十种数据库软件,并且不同的软件之间的结构、理论基础以及编程语言自成体系、各不相同。这无疑是对审计人员的强大考验。此次对InterBase数据库数据的成功转换,不但能增加对InterBase数据库的了解与掌握能力,同时还能积累使用ODBC建立数据库间链接的实际操作经验,对今后的工作有很好的借鉴意义。(作者单位:宜春市审计局)