关于利用OpenDataSource将excel数据导入sql数据库的问题

sunny1980 2004-11-23 05:10:02
我想将本地excel文件数据导入本地sql数据库,
我建立一个访问本地sql数据库的ado连接,
利用下面的语句可以执行成功。
select * into [MyTable] FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0','Data Source=C:\test.xls;User ID=Admin;Password=;Extended properties=Excel 5.0')...Sheet1$

但是sql数据库不在本地的时候,
我同样建立了一个访问服务器sql数据库的ado连接,
结果执行上面的语句提示:

[Microsoft][ODBC SQL Server Driver][SQL Server]OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'Sheet1$'.

请教大虾,这是什么原因,有没有好的解决方法,多谢了!



...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunny1980 2004-11-24
  • 打赏
  • 举报
回复
看来只好把客户端文件拷贝到服务器端再打开了。
sunny1980 2004-11-24
  • 打赏
  • 举报
回复
我想要的效果是在客户端打开一个excel文件,然后把excel文件导入到服务器端的sql数据库中去,我按照myhgyp(就是这个答案,不会错的)的语句执行仍然会报错:
服务器: 消息 156,级别 15,状态 1,行 2
Incorrect syntax near the keyword 'OPENDATASOURCE'.

SELECT *
into OPENDATASOURCE(
'SQLOLEDB',
'Data Source=Server;User ID=sa;Password='
).rcrs.dbo.MyTable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=C:\test.xls;User ID=Admin;Password=;Extended properties=Excel 5.0')...Sheet1$

Data Source=C:\test.xls是我在客户端的一个文件;
Data Source=Server是服务器机器名。

想要的这种效果该怎么实现。





wenhongL 2004-11-23
  • 打赏
  • 举报
回复
Source=C:\test.xls 指的是sql server服务器的的路径!
myhgyp 2004-11-23
  • 打赏
  • 举报
回复
select * into OPENDATASOURCE ('SQLOLEDB','Data Source=另一台机器名或IP;User ID=sa;Password=).某一数据库名.dbo.MyTable FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0','Data Source=C:\test.xls;User ID=Admin;Password=;Extended properties=Excel 5.0')...Sheet1$

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧