使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx

上传人:b****5 文档编号:20843248 上传时间:2023-01-26 格式:DOCX 页数:11 大小:21.79KB
下载 相关 举报
使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx_第1页
第1页 / 共11页
使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx_第2页
第2页 / 共11页
使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx_第3页
第3页 / 共11页
使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx_第4页
第4页 / 共11页
使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx

《使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx》由会员分享,可在线阅读,更多相关《使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

使用TLSQL实现导出导出支持EXCLE的导入导出Word文档格式.docx

OpenRowset/OpenDatasource'

的访问,因为此组件已作为此服务器

安全配置的一部分而被关闭。

系统管理员可以通过使用sp_configure启用'

有关启用'

AdHocDistributed

Queries'

的详细信息,请参阅SQLServer联机丛书中的"

外围应用配置器"

二、打开远程连接

服务和连接的外围应用配置器 

远程连接 

本地连接和远程连接 

仅使用TCP/IP 

应用 

重新启动数据库引擎

链接服务器"

(null)"

的OLEDB访问接口"

SQLNCLI"

返回了消息"

登录超时已过期"

建立到服务器的连接时发生错误。

连接到SQLServer2005时,默认设置

SQLServer不允许远程连接这个事实可能会导致失败。

"

消息65535,级别16,状态1,第0行

SQL网络接口:

从注册表获取已启用的协议列表时出错[xFFFFFFFF].

三、打开客户端TCP/IP协议

SQLServerConfigurationManager 

SQLServer2005网络配置:

启用TCP/IP协议

SQLNativeClient 

配置:

启用

默认端口-1433

四、创建联接服务器

execsp_addlinkedserver@server='

conndb04'

@provider='

sqloledb'

@srvproduct='

'

@datasrc='

WINNIE\IIDC'

execsp_addlinkedsrvlogin@rmtsrvname='

@useself='

false'

@locallogin='

admin'

@rmtuser='

@rmtpassword='

password'

;

[注]这里的login帐户,应该是使用SQLServer身份验证的帐户,否则,会报错:

xx用户无法登陆。

五、在导入目标数据库中创建空表

usewwww

go

createtablepro_unit_sort(

CulIDvarchar(40),

Coll_Unitvarchar(400),

cul_Sortvarchar(400))

六、执行导出\导入

select*intowwww.dbo.pro_unit_sortfromconndb04.wwww_xx..dbo.xx._unit_sort;

[注]

1、第四步和第六步等同于:

go 

insertINTOOPENDATASOURCE(

'

SQLOLEDB'

DataSource=WINNIE\IIDC;

UserID=admin;

Password=password'

).wwww.dbo.pro_unit_sort

select*fromwwww_xx.dbo.xx.unit_sort;

2、执行此操作时,将使用到UDP1434端口,如果防火墙关闭了此端口的话,请将其打开。

参考文档:

1、使用Transact-SQL进行数据导入导出方法详解:

2、SQLServer的链接服务器技术小结

如何将数据从Excel导入到SQLServer

查看本文应用于的产品

本页

概要

o

技术说明

要求

示例

导入与追加

使用DTS或SSIS

使用链接服务器

使用分布式查询

使用ADO和SQLOLEDB

使用ADO和JetProvider

疑难解答

参考

展开全部|关闭全部

本文循序渐进地演示如何用不同的方法将数据从MicrosoftExcel工作表导入到MicrosoftSQLServer数据库。

技术说明本文中的示例...

回到顶端

技术说明

本文中的示例使用以下工具导入Excel数据:

∙SQLServer数据传输服务(DTS)

∙MicrosoftSQLServer2005IntegrationServices(SSIS)

∙SQLServer链接服务器

∙SQLServer分布式查询

∙ActiveX数据对象(ADO)和MicrosoftOLEDBProviderforSQLServer

∙ADO和MicrosoftOLEDBProviderforJet4.0

要求

下面的列表列出了推荐使用的硬件、软件、网络架构以及所需的ServicePack:

∙MicrosoftSQLServer7.0、MicrosoftSQLServer2000或MicrosoftSQLServer2005的可用实例

∙MicrosoftVisualBasic6.0(针对使用VisualBasic的ADO示例)

本文的部分内容假定您熟悉下列主题:

∙数据传输服务

∙链接服务器和分布式查询

∙VisualBasic中的ADO开发

示例

导入与追加

本文使用的示例SQL语句演示了“创建表”查询。

该查询通过使用SELECT...INTO...FROM语法将Excel数据导入新的SQLServer表。

如这些代码示例所示,在继续引用源对象和目标对象时,可以通过使用INSERTINTO...SELECT...FROM语法将这些语句转换成追加查询。

使用DTS或SSIS

可以使用“SQLServerDataTransformationServices(DTS)导入向导”或“SQLServer导入和导出向导”将Excel数据导入到SQLServer表中。

在逐步执行向导并选择Excel源表时,要记住附加美元符号($)的Excel对象名称代表工作表(例如,Sheet1$),而没有美元符号的普通对象名称代表Excel指定的范围。

使用链接服务器

要简化查询,可以将Excel工作簿配置为SQLServer中的链接服务器。

有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

306397 

()如何:

结合SQLServer链接的服务器和分布式查询使用Excel

下列代码将Excel链接服务器“EXCELLINK”上的Customers工作表数据导入新的名为XLImport1的SQLServer表:

SELECT*INTOXLImport1FROMEXCELLINK...[Customers$]

还可以通过按照以下方式使用OPENQUERY以全通过方式对源数据执行查询:

SELECT*INTOXLImport2FROMOPENQUERY(EXCELLINK,

SELECT*FROM[Customers$]'

使用分布式查询

如果不想将对Excel工作簿的永久连接配置为链接服务器,可以通过使用OPENDATASOURCE或OPENROWSET函数为特定目的导入数据。

下列代码示例也能将ExcelCustomers工作表数据导入新的SQLServer表:

SELECT*INTOXLImport3FROMOPENDATASOURCE('

Microsoft.Jet.OLEDB.4.0'

DataSource=C:

\test\xltest.xls;

ExtendedProperties=Excel8.0'

)...[Customers$]

SELECT*INTOXLImport4FROMOPENROWSET('

Excel8.0;

Database=C:

\test\xltest.xls'

[Customers$])

SELECT*INTOXLImport5FROMOPENROWSET('

'

使用ADO和SQLOLEDB

当通过使用MicrosoftOLEDBforSQLServer(SQLOLEDB)在ADO应用程序中连接到SQLServer时,可以使用与“使用分布式查询”一节中相同的“分布式查询”语法将Excel数据导入SQLServer。

下列VisualBasic6.0代码示例要求添加对ActiveX数据对象(ADO)的项目引用。

此代码示例还演示了如何在SQLOLEDB连接上使用OPENDATASOURCE和OPENROWSET。

DimcnAsADODB.Connection

DimstrSQLAsString

DimlngRecsAffAsLong

Setcn=NewADODB.Connection

cn.Open"

Provider=SQLOLEDB;

DataSource=<

server>

&

_

"

InitialCatalog=<

database>

UserID=<

user>

Password=<

password>

ImportbyusingOPENDATASOURCE.

strSQL="

SELECT*INTOXLImport6FROM"

OPENDATASOURCE('

"

)...[Customers$]"

Debug.PrintstrSQL

cn.ExecutestrSQL,lngRecsAff,adExecuteNoRecords

Debug.Print"

Recordsaffected:

lngRecsAff

ImportbyusingOPENROWSETandobjectname.

SELECT*INTOXLImport7FROM"

OPENROWSET('

[Customers$])"

ImportbyusingOPENROWSETandSELECTquery.

SELECT*INTOXLImport8FROM"

)"

cn.Close

Setcn=Nothing

使用ADO和JetProvider

上一节中的示例使用ADO和SQLOLEDBProvider连接到从Excel到SQL导入的目标。

也可以使用OLEDBProviderforJet4.0来连接到Excel源。

Jet数据引擎可以通过使用具有三种不同格式的特殊语法来在SQL语句中引用外部数据库:

∙[FullpathtoMicrosoftAccessdatabase].[TableName]

∙[ISAMName;

ISAMConnectionString].[TableName]

∙[ODBC;

ODBCConnectionString].[TableName]

本节使用第三种格式创建到目标SQLServer数据库的ODBC连接。

可以使用ODBC数据源名称(DSN)或者DSN-less连接字符串:

DSN:

[odbc;

DSN=<

DSNname>

UID=<

PWD=<

]

DSN-less:

Driver={SQLServer};

Server=<

Database=<

UID=<

下列VisualBasic6.0代码示例要求添加对ADO的项目引用。

此代码示例演示了如何使用Jet4.0Provider通过ADO连接将Excel数据导入到SQLServer。

Provider=Microsoft.Jet.OLEDB.4.0;

\test\xltestt.xls;

ExtendedProperties=Excel8.0"

ImportbyusingJetProvider.

SELECT*INTO[odbc;

].XLImport9"

FROM[Customers$]"

也可以通过使用该语法(JetProvider支持)将Excel数据导入其他MicrosoftAccess数据库、索引顺序存取方法(ISAM)(“desktop”)数据库或ODBC数据库。

疑难解答

∙记住附加美元符号($)的Excel对象名称代表工作表(例如:

Sheet1$),而普通对象名称代表Excel指定的范围。

∙在某些环境中,特别是用表名称取代SELECT查询指派EXCEL源数据时,目标SQLServer表中的列会按照字母顺序重排。

有关JetProvider中存在的这一问题的其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

299484 

()PRB:

使用ADOX检索Access表的列时,列按字母顺序排列

∙当JetProvider确定一个Excel列包含了混合文本和数值数据时,JetProvider会选择“majority”数据类型并将不匹配的值以NULL形式返回。

有关如何解决这个问题的其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

194124 

使用DAOOpenRecordset时Excel返回值为NULL

有关如何将Excel用作数据源的其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

257819 

(http:

//suppo...

257819 

在VisualBasic或VBA中使用ADO来处理Excel数据

有关如何将数据传输到Excel中的其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

295646 

使用ADO将数据从ADO数据源传输到Excel

247412 

()INFO:

将数据从VisualBasic传输到Excel的方法

246335 

使用“自动化”功能将数据从ADO记录集传输到Excel

319951 

通过SQLServer数据传输服务向Excel传送数据

306125 

将数据从MicrosoftSQLServer导入MicrosoftExcel

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1