Excel2003配置为SQL Server2000的【链接服务器】
现在进行的工作是用vb和sql server2000管理公司的仓库。今天接到一张xsl的库存表,记录量非常大。首先的是用sql server2000查询分析器读出它来。
【文献:http://support.microsoft.com/kb/306397/EN-US/】
Enterprise Manager (SQL Server 2000)
<script type="text/javascript"></script>
- In Enterprise Manager, click to expand the Security folder.
- Right-click Linked Servers, and then click New linked server.
- On the General tab, follow these steps:
- In the first text box, type any name for the linked server.
- In the Server type box, click Other data source.
- In the Provider name list, click Microsoft Jet 4.0 OLE DB Provider.
- In the Data source box, type the full path and file name of the Excel file.
- In the Provider string box, type Excel 8.0 for an Excel 2002, Excel 2000, or Excel 97 workbook.
- Click OK to create the new linked server.
- Click to expand the new linked server name to expand the list of objects that it contains.
- Under the new linked server name, click Tables. Notice that your worksheets and named ranges appear in the right pane.
【/文献】
依照文献:
打开企业管理器,【sql server组】--【(local)】--【安全性】--右击【链接服务器】--【新建链接服务器】:
链接服务器:自己命名如KC_XX,下次再双击【链接服务器】的时候这个名字作为服务器名称显示
其它数据源--提供数据源的程序的名称,选择:Microsoft Jet 4.0 OLE DB Provider
产品名称:暂时不知做什么用,可以不写;
数据源:c:/xxx.xsl
提供程序字符串:Excel 8.0
填写完毕,确定。
双击【链接服务器】里的刚才命名的KC_XX,出现【表、视图】;双击【表】出现Excel文件中的Sheet1$,Sheet2$,说明连接成功。
打开查询分析器,输入:
SELECT * FROM KC_XX...Sheet1$
Excel表中Sheet1中数据全部输出在查询分析器显示结果的“网格”。
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
使用ADO(控件)连接Excel
初步打算尝试用SQL对Excel进行增删改,首先做到使用ADO(控件)连接Excel
ado使用MDAC中以下两个OLE DB提供程序都可以连接Excel数据文件:
MS Jet OLE DB Provider4.0 or
MS OLE DB Provider for ODBC Drivers
我使用的是Jet4.0,具体做法是:
1.创建vb的exe工程,引用ms ado data control6.0(ole db);ms datagrid control6.0(ole db).
2.右击【Adodc1】点击adodc属性,弹出【属性页】对话框。
3.【通用】--【使用字符串连接】--【生成】--展开【数据链接属性】对话框:
【提供程序】:ms jet 4.0 ole db provider
【连接】:选择或输入数据库名称,浏览选择xx.xsl的路径,会报错,无妨。
【高级】:无操作
【所有】:选【扩展属性】--【编辑值】--输入【Excel 8.0;】--confirm--返回【连接】点击【测试连接】--成功。
点击确定关闭【数据连接属性】对话框,返回【属性页】对话框;
4.点击【记录源】,类型为8,命令文本(SQL)输入:
select * from JiLu
5.打开xx.xsl,Ctrl+A选中所有内容,点击菜单栏【插入】--【名称】--【定义】,展开【定义名称】对话框,输入JiLu,确定。注意,第5步最好在第4步引用JiLu之前。
6.设置datagrid1的datasource为Adodc1.
7.运行vb程序,datagrid显示出Excel表格的内容。
用代码编写select语句。其中adodc1已经设置记录源并把datagrid1的datasource指定为adodc1,但是不妨碍编写代码,代码会用新的recordset覆盖form_load初始的记录集。
Private Sub Command1_Click() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim strConn As String Dim sql_s, sql_i, sql_u As String strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/库存.xls;Extended Properties=" + "Excel 8.0;" + ";Persist Security Info=False" sql_s = "select 货品简称 from KuCun" Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.CursorLocation = adUseClient '这一句必须要有,否则提示【实时错误7004: 行集合不能作为标签】 cn.Open strConn rs.Open sql_s, cn Set DataGrid1.DataSource = rs DataGrid1.Refresh End Sub
本文介绍如何将Excel2003配置为SQLServer2000的链接服务器,包括在企业管理器中新建链接服务器的具体步骤,以及使用ADO控件连接Excel的方法。
290

被折叠的 条评论
为什么被折叠?



