sql2005 如何导入EXCEL ?请注意是sql2005 有没有不同于sql2000 的新方法 100pest1999]

发布时间:2016-12-8 19:56:33 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"sql2005 如何导入EXCEL ?请注意是sql2005 有没有不同于sql2000 的新方法 100pest1999]",主要涉及到sql2005 如何导入EXCEL ?请注意是sql2005 有没有不同于sql2000 的新方法 100pest1999]方面的内容,对于sql2005 如何导入EXCEL ?请注意是sql2005 有没有不同于sql2000 的新方法 100pest1999]感兴趣的同学可以参考一下。

刚更新了sql2005,因为刚学,对它增加的新功能还不熟,据说sql2005能更紧密结合EXCEL,但看了遍书仅是在报表方面有介绍。这里高手多,上来问问看,有没有新增加数据导入的方式,都有哪些尽量说全面点。导入Oracle、MySQL 等如果有新特性,也可以进来讨论下,有新见解都有分加。 这里先谢过了

有个openrowset,你自己看看帮助吧,我也不太熟。。。

二、SQL SERVER 和EXCEL的数据导入导出 1、在SQL SERVER里查询Excel数据: -- ====================================================== SELECT *  FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。 SELECT *  FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',   'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions ------------------------------------------------------------------------------------------------- 2、将Excel的数据导入SQL server : -- ====================================================== SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',   'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 实例: SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',   'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions ------------------------------------------------------------------------------------------------- 3、将SQL SERVER中查询到的数据导成一个Excel文件 -- ====================================================== T-SQL代码: EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""' 参数:S 是SQL服务器名;U是用户;P是密码 说明:还可以导出文本文件等多种格式 实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"' EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword' 在VB6中应用ADO导出EXCEL文件代码:  Dim cn  As New ADODB.Connection cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;" cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'" ------------------------------------------------------------------------------------------------ 4、在SQL SERVER里往Excel插入数据: -- ====================================================== insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3) T-SQL代码: INSERT INTO   OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',   'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]   (bestand, produkt) VALUES (20, 'Test')   -------------------------------------------------------------------------------------------------

SSIS

引用 2 楼 wufeng4552 的回复:SQL code二、SQL SERVER 和EXCEL的数据导入导出 1、在SQL SERVER里查询Excel数据: -- ====================================================== SELECT *  FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。 SELECT *  FROM OpenDataSou… 我尝试了一下,建了一个Excel 2003的文件,结果报错,帮忙看看什么原因。 SQL: SELECT *  FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 4.0')...[Sheet1$] 报错: 消息 7399,级别 16,状态 1,第 1 行 链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。 消息 7303,级别 16,状态 1,第 1 行 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。

引用 4 楼 xieyueqing 的回复:引用 2 楼 wufeng4552 的回复: SQL code二、SQL SERVER 和EXCEL的数据导入导出  1、在SQL SERVER里查询Excel数据:  -- ======================================================  SELECT *  FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',  'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]  下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子… Excel有沒有關閉~~?關閉試~~

TO:wufeng4552  你的这些貌似都是SQL2000的方法,这个我知道了,标题注的很明确,要求sql2005与sql2000不同的方法 2000大家用的都很熟了,百度一下,10000多页都是这些

TO:dobear_0922    SSIS听过,不过没用过,能介绍下吗 另注: SSIS  SQL SERVER INEGRATION SERVICES 介绍怎么用就好了

TO:xieyueqing  刚查了openrowset是单行输入用的,确是个新东西,不错,有分加。

引用 5 楼 wufeng4552 的回复:引用 4 楼 xieyueqing 的回复: 引用 2 楼 wufeng4552 的回复: SQL code二、SQL SERVER 和EXCEL的数据导入导出 1、在SQL SERVER里查询Excel数据: -- ====================================================== SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 下面是个查询的示例,它通过用于 Jet 的 OLE DB… 首先要用SA权限登录,然后确认c:\book1.xls文档中数据实在Sheet1报表中。 如果查询仍出错,需要执行以下语句: --使用sa登录数据库 /*因为SQL2005默认是没有开启'Ad Hoc Distributed Queries' 组件,开启方法如下 EXEC sp_configure 'show advanced options', 1 --更改配置 GO  RECONFIGURE --安装 GO  EXEC sp_configure 'Ad Hoc Distributed Queries', 1  GO  RECONFIGURE  GO */

现在CSDN人气这么差吗,放了几天也没个正经回复 这样好了,此贴改为支持贴,交流SQL2005使用经验吧,有好建议上来说下,就给分,不像删帖啊。

ssis可以使数据在数据库与EXCEL之间很方便的导入导出,图形界面操作工作流的方式,

up

引用 8 楼 pest1999 的回复:TO:xieyueqing 刚查了openrowset是单行输入用的,确是个新东西,不错,有分加。 openrowset sql2000下本来就支持 2005下ssis功能很强大,可以试试。 比如你可以看看剪大侠的blog. http://blog.csdn.net/jinjazz/archive/2008/07/28/2722987.aspx 等等。

Mark

 你可以考虑使用SSIS,可以从OLE数据源将数据导入到EXCEL数据源,是工作流的方式,使用方便,操作简单,而且效率不错

引用 7 楼 pest1999 的回复:TO:dobear_0922    SSIS听过,不过没用过,能介绍下吗  另注: SSIS  SQL SERVER INEGRATION SERVICES  介绍怎么用就好了 微软的SQL Server 2005中用来替代数据传输服务(DTS)的SQL Server综合服务(SSIS),包含了很多工具用于导入数据并将其转换为有意义的信息,而不仅仅是被动的导入。但是还有一点要注意的是,你会发现这个新的SSIS工具有时候并不能完全覆盖你要做的所有事情。  因此,微软提供了两种基本方法来扩展SSIS的功能。一种方法对那些没有很多编程经验,或者是不需要编写复杂程序的人们来说相对简单;另一种方法就是复杂的,它可以让喜欢挑战的程序员深入SSIS,对其进行很大程度上的扩展。  简单方式:脚本  我们中的大多数人都在某种程度上至少接触过脚本,SSIS通过在SSIS包中使用VB .NET来为程序员提供编写脚本动作的功能。脚本的范围,与客户项目相比,是十分小并且集中的;那是在你需要在现有的包允许或者已经完成的范围内多少做些修改的时候使用的。  在SSIS包里面,有两个元素是你可以用来添加脚本的:Script Task(在综合服务设计应用程序的控制流窗口中)和Script Component(在数据流窗口中)。它们俩的应用环境稍微有些不同。  脚本任务(Script Task)是你用来在包里面实现一般目的的流控制的——它比脚本组件(Script Component)更加全局化,功能更强大,但是也复杂得多。它在包的数据流之外运行,不能被数据流的工作方式约束,虽然脚本任务通常都是只有包被触发的情况下才运行(虽然你可以构建在异常里面)。任务也支持断点和调试,这在你编写了比较精细的具有控制逻辑或者完成某类决策制订的脚本的时候比较有用。关于脚本任务的一个例子就是查询活动目录,寻找一些关于数据的信息,或者是与另外一个数据仓库对话——都是在运行包之前。  脚本组件更加贴近数据流工作的方式。脚本组件不是在整个包中之运行一次,而是它的主要处理为每个需要处理的数据行运行一次。脚本组件有三个比较基本的运行环境:数据源、数据转换,或者数据目标。组件的交互性也比较小——它并不支持脚本任务支持的那种类型的调试,这是其一。使用脚本组件的大多数情况是类似一行接一行的转换,构建客户ODBC目标,或者是不能通过SSIS本地函数处理的不重要的错误处理或者转换动作。  高级方式:对客户对象编程  虽然SSIS包里面的脚本很强大,有时候它仍然无法完成某些任务。在一些情况下,你可能需要从头编写(或者其他人编写)一个客户 SSIS 扩展。这不是轻松完成的事情;它需要你从根本上完全理解编程。但是对于客户对象,它可能会以某种方式是使用SSIS,但是这方式绝对不是简单的自动化任务。  例如,如果你的数据源不支持任何现有的SSIS转换(例如,一些古怪的不再被制造厂商支持的私有数据源),你可以编写客户连接管理对象来允许像在本地那样使用这个数据。同样,你可以创建客户任务,日志提供商,或者是通过SSIS实现的带有同样的编程库的数据流组件。  以上谈到的每一种类型都可以作为SSIS支持的语言中的基本类、属性和方法集使用:Visual Basic, C#, C++, J# 和Jscript。C++, C# 和VB更容易产生最好的结果,因为在这些情况下它们在更大程度上被开发人员和供应商支持。想法就是你所使用的语言不应该成为你的障碍;它们都可以插入到同一个外部编程接口。你还可以为客户对象创建用户接口,通过标准的Windows窗体,无论是否需要它们。  一个极端强大的此类例子就是,你可以通过SSIS客户对象创建可定制的前端调查装置 。我们说,如果你想要创建一组程序类来为集合中的每个对象集执行任务,例如,数据库中的一组表。如果你想要在很广泛的范围内实现这样的一个动作,并且不需要每次都重新发明一次轮子,这就是一中最好的实现方式。当你对一些新类型的数据(例如上面例子中提到的)创建客户连接管理器,并且想要在上面创建客户前端动作的时候,它就特别有用处了。  结论  你扩展SSIS的方式,无论是脚本还是编程,都是根据你的需求和你的能力来决定的。因为你可以使用两种方式——即使在同一时间!——你都可以不用费很多力气。你还可以根据需要进行修正和匹配。   

学习了

study

SSIS

该回复于2009-02-15 15:07:49被版主删除

学习

我用过BCP命令到处excel,不知道对你有用没

2005在32位操作系统下,数据导出excel和2000语法一样,在64位操作系统下,不能导出excel,这个方法不能用。只能导出文本文件。

一段时间没管理这个帖子了,加了很多好回复,先学习了,一会结贴

上一篇:SYSINDEXES失败,有经验的请进来! 20zwzhang720]
下一篇:查询时如何指定分区 300Chiff]

相关文章

相关评论