数字图书馆实现Excel与SQL,SERVER,2005数据交互

时间:2023-06-07 20:06:02 公文范文 来源:网友投稿

摘要:随着图书馆网络资源增多,如何通过编程的方法实现Excel数据导入到SQL Server,是一个值得探讨的问题。本文主要以Excel的COM组件为中心,介绍编程中实现Excel与SQL Server数据的交互,并且给出其中的详细实现过程。

关键词:Excel  Sql Server 2005  VBA编程  C#  Visual Studio 2005

SQL Server数据库是目前比较流行的一种大型数据库管理系统。在实际应用中,人们大多习惯使用Excel编辑数据,而不是直接往SQL Server中输入数据,这样我们就可以通过SQL Server本身提供的DTS(Data Transform Service)即数据转换服务功能来实现Excel数据的导入导出。另一方面,很多数据库软件是通过Excel来进行数据转换。所以,讨论SQL Server与Excel如何进行数据的交互是有价值的。

1 在Excel导入SQL Server中的数据

①在“数据”选项卡上的“获取外部数据”组中,单击“自其他来源”,然后单击“来自SQL Server”。

②在“服务器名称”框中,键入要连接的SQL Server 计算机的名称。

③在“登录凭据”下,执行下列操作之一:

要使用当前的Microsoft Windows用户名和密码,请单击“使用Windows 身份验证”。

要输入数据库用户名和密码,请单击“使用下列用户名和密码”,然后在相应的“用户名”和“密码”框中键入您的用户名和密码。

④在“选择数据库”下,选择一个数据库。在“连接到指定表”下,选择一个特定的表或视图。或者,也可以清除“连接到指定表”复选框,以便系统向使用此连接文件的其他用户提示表和视图的列表。

⑤(可选)在“文件名”框中,修改建议的文件名。单击“浏览”以更改默认文件位置(“我的数据源”)。

⑥(可选)分别在“说明”、“友好名称”和“搜索关键字”框中键入对文件的说明、友好名称及常用搜索文字。

⑦要确保更新数据时始终使用该连接文件,请单击“始终尝试使用此文件来刷新此数据”复选框。此选项可确保使用该连接文件的所有工作簿始终会使用对该连接文件的更新。

⑧若要指定在将工作簿发布到Sharepoint Foundation 2010网站并在Web浏览器中打开它时如何访问数据透视表的外部数据源,请单击“验证设置”,然后选择以下选项之一以登录到相应的数据源:

Windows身份验证 选择此选项可使用当前用户的 Windows用户名和密码。这是最安全的方法,但在许多用户连接到服务器的情况下,此方法会影响性能。

SSS 选择此选项可使用安全存储服务(SSS),然后在“SSS ID”框中输入适当的标识字符串。网站管理员可以将 Sharepoint Foundation 2010 网站配置为使用一个可在其中存储用户名和密码的安全存储服务数据库。在许多用户连接到服务器的情况下,此方法的效率最高。

无 选择此选项可在连接文件中保存用户名和密码。

安全性 连接到数据源时应避免保存登录信息。此信息可能会以纯文本形式存储,恶意用户可能会访问该信息以破坏数据源的安全。

注释 仅在将工作簿发布到SharePoint网站时才使用验证设置,Excel桌面程序将不会使用它。

2 在SQL Server中导入/导出Excel中数据

在SQL Sever中导入Excel数据有两种方法,一种是用SQL语句进行导入,另一种是用导入导出向导。

用SQL语句导入Excel中的数据:

①SQL Server中导入Excel数据到新表

Select*INTO new_table

FROMOPENROWSET

"Excel 12.0 Xml;HDR=YES;Database=C:\Desktop\TEST.xlsx","SELECT * FROM [test$]");

②在SQL Server中导入Excel数据到已存在的表

INSERTINTO master.dbo. new_table

SELECT* FROM OPENROWSET( "Microsoft.ACE.OLEDB.12.0",

"Excel 12.0 Xml;HDR=YES;Database=C:\Desktop\TEST.xlsx","SELECT * FROM [test$]");

注:在导入的时候,Excel文档都必须关闭,反之会得到如下错误提示:

Msg 7399, Level 16, State 1, Line 1

The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an error. The provider did not give any information about the error.

Msg 7303, Level 16, State 1, Line 1

Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

参考文献:

[1]Harvey M.Deitel.C#大学教程[M].电子工业出版社,2004.

[2]John Walkenbach.Excel 2003宝典[M].北京:电子工业出版社,2004.

[3]Steven M.Hansen.Excel 2003与VBA编程[M].北京:电子工业出版社,2004.

[4]李洪根.SQL SERVER与ACCESS、EXCEL的数据.

作者简介:

胡锴(1982-),男,江西南昌人,助理馆员,研究方向:数字图书馆。

推荐访问:交互 数字图书馆 数据 sql Excel