[摘要] 提出了将早期电子商务数据库中的数据转换到现代所用的数据库的技术,以excel 2000中的数据转换到sql server 2000数据库为例,详细介绍了转换的步骤和技术,对于当前电子商务应用系统的开发具有一定的参考价值。
[关键词] java excel sql server jdbc-odbc 电子商务 数据库
一、引言
电子商务是在因特网开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。有关电子商务的信息大都存储在数据库中。早期数据库可能选择excel或者access,现在选择sql server和oracle。如果重新构造数据库会有很大的开销,而数据库转换可以节省开销。本文详细论述基于java平台从excel转换到sql server的方法。
二、excel和sql server
excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域,具有强大的制作表格和图表功能,还具有关系数据库的某些管理功能。但在一些专用的软件中,excel生成的报表质量较差,难以达到用户的要求,可以将excel中的数据转换到sql server数据库中以满足用户要求。
sql server是微软推出的中小型网络数据库系统,是目前最常用的数据库系统之一。www.133229.cOM随着sql server网络数据库应用程序日益增多,这种web数据库应用系统的正常运行一般依赖于已存在的用户数据库。
本文以excel 2000和sql server 2000为例介绍从数据从excel转换到sql server。
三、使用java语言访问数据库
转换工作需要应用程序来完成,编写应用程序的语言我们选择java。java是一种跨平台的程序设计语言,非常适合于企业网络和internet环境。
java本身不能直接访问excel,要想操作excel中的数据必须使用java excel api,通过它java开发人员可以读取excel文件的内容、创建新的excel文件、更新已经存在的excel文件。使用该api非windows操作系统也可以通过纯java应用来处理excel数据表。
java可以通过jdbc访问sql server数据库。jdbc定义了一个底层的api,用来支持独立于任何特定sql实现的基本sql功能。有了jdbc,可向各种关系数据库发送sql语句。在jdbc技术中,程序员使用jdbc api将标准的sql语句通过jdbc驱动管理器传递给相应的jdbc驱动,并由该jdbc驱动传给所指定的数据库服务器,这样就不必为访问不同数据库而分别编写不同的接口程序。jdbc驱动有四种类型,它们分别是:jdbc-odbc桥、本地api部分java驱动、网络协议完全java驱动、本地协议完全java驱动。本文选择使用jdbc-odbc桥驱动访问sql server数据库。步骤如下:
1.加载jdbc驱动程序
2.建立数据库连接
3.执行sql语句
4.处理结果集
5.关闭数据库连接
四、实例
将存储在excel文件“users.xls”中sheet1中的用户信息转换到sql server 2000数据库“business.mdb”中的users数据表。
excel的工作表sheet由行和列组成,行对应数据库表中的一条条记录,列对应数据库表中的字段。建立好一一对应的关系,实现数据库的转换就是完全可行的。步骤如下:
1.根据excel中工作表的第一行的各字段名在sql server 2000中建立相应结构的数据表,要注意各字段的名称、类型、长度和是否为空的值。
2.通过“控制面板”——“管理工具”——“数据源odbc”,创建一个名为“business”的“用户dsn”,连接到“business.mdb”数据库;
3.通过java excel api读取excel工作表中的所有记录,将这些记录存储在col[][]二维字符串数组中,不管是什么数据类型,都需要变为字符串;然后再关闭与excel的连接;
4.利用jdbc-odbc桥建立与“business.mdb”数据库的连接,执行插入记录的sql语句,将col[][]中对应的一行行数据插入到“users”数据表中,这时,需要将数据类型不为字符串的数据恢复到原来的数据类型。(限于篇幅代码从略)
五、结语
java利用java excel api访问excel工作簿,并利用jdbc-odbc桥访问sql server,可以将excel中的数据转换到sql server数据库中,大大节省了开发电子商务应用系统的时间和开销。