SQL SERVER 2000导出到Excel ,请看代码有什么错误?
Dim cnExcel As New ADODB.Connection
Dim recExcel As New ADODB.Recordset
cnExcel.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.xls;" & "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
cnExcel.Open
cnExcel.Execute ("select A.* into [Sheet1$] FROM OPENROWSET('SQLOLEDB','myServer';'sa';' ','SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') as A") '''''''错误
cnExcel.Close
Set cnExcel = Nothing
Set recExcel = Nothing
提示错误from 子句有错误
问题点数:30、回复次数:14Top
1 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-20 15:40:45 得分 5
换个写法试试:
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=jtaf;Password=登陆密码;Initial Catalog=sql里的数据库;Data Source=sql服务器别名或IP"
cn.CursorLocation = adUseClient
cn.Open
cn.Execute("select * into OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;hdr=yes;database=c:\Test.xls;','select * from [Sheet1$]') from table1")Top
2 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-20 15:53:12 得分 10
http://community.csdn.net/Expert/topic/4621/4621548.xml?temp=.5011255Top
3 楼jobs002(Oh! Office)回复于 2006-03-20 16:16:38 得分 0
那个帖子已经看完,我现在是把sql server 2000的一个表导入到 Excel的一个工作表 ,使上面的反过程.Top
4 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-20 16:27:44 得分 0
现在是把sql server 2000的一个表导入到 Excel的一个工作表
---------------------------------
用1楼的代码可以的Top
5 楼nj_tanghua(晨风)回复于 2006-03-20 16:31:29 得分 5
openrowset 只能在SQL的连接上执行,'microsoft.jet.oledb.4.0' 不支持Top
6 楼jobs002(Oh! Office)回复于 2006-03-20 16:36:34 得分 0
那应该怎么处理???Top
7 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-20 16:51:23 得分 0
把连接Excel改为连到Sql,然后就可以用OpenRowset了,就是1楼的代码Top
8 楼jobs002(Oh! Office)回复于 2006-03-20 16:56:56 得分 0
谢谢了,我试试....,通过给分Top
9 楼jobs002(Oh! Office)回复于 2006-03-20 17:43:09 得分 0
cnExcel.Execute "select * into OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\Test.xls;','select * from [Sheet1$]') from employee "
关键字OpenRowSet附近有错误Top
10 楼jobs002(Oh! Office)回复于 2006-03-20 19:07:33 得分 0
可能得使用bcp实用工具,以及存储过程xp_cmdShell,不过不知道faysky2()的方法对不对,顶一下.....Top
11 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-20 19:26:26 得分 5
上面的少写了表名称:
cnExcel.Execute "select * into sqlNewTable OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\Test.xls;','select * from [Sheet1$]') from employee "
Top
12 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-20 19:27:39 得分 5
另一种方法(odbc方法):
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
cn.CursorLocation = adUseClient
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\test.xls;Extended Properties='Excel 8.0;HDR=Yes'"
cn.Execute ("insert INTO [odbc;Driver={SQL Server};" & _
"Server=ljx;Database=test;" & _
"UID=sa;PWD=].temp " & _
"select * FROM [Sheet1$]")
cn.Close
Set cn = Nothing
End SubTop
13 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-20 19:29:40 得分 0
上面的少写了表名称:
cnExcel.Execute "select * into sqlNewTable OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\Test.xls;','select * from [Sheet1$]') from employee "
------------------------------------
还是写错了,后面没有from employee ,from应该写到OpenRowSet前面来,这样:
cnExcel.Execute "Select * Into sqlNewTable From OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\Test.xls;','Select * From [Sheet1$]')Top
14 楼jobs002(Oh! Office)回复于 2006-03-20 20:02:06 得分 0
EXEC master..xp_cmdshell 'bcp Pubs.dbo.employee out c:\temp1.xls -c -q -S ServerName'
保存在了c盘,验证通过(SQL SERVER 2000)
谢谢faysky2().....,明天揭帖.....Top
相关问题
- Sql server 导出到Excel问题
- vb中怎样从sql server 中导出数据到dbf,excel?
- 关于如何导出SQL SERVER 的数据到Excel表??
- 从Excel表格导出数据到SQL Server。
- 在VB中怎样用ADO 从SQL Server 7.0中导出表到FoxPro、Access、Excel中
- 如何实现把sql server数据库的某个表导出成excel文件?
- 将SQL SERVER的表导出为EXCEL格式,用程序导,怎么导?
- 关于从SQL Server中导出记录到Excel的问题(高手请进)
- 从SQL SERVER数据库中,怎么把数据导出到EXCEL表中
- EXCEL和SQL导入导出的问题




