日期:2014-05-18  浏览次数:20452 次

把本机EXCEL导入远程MSSQ报错,请帮忙看一下,谢谢!
SQL code

--服务器系统:windows server 2003
--SQL版本:SQL2008
--本机测试如下语句,正常! 本机系统为 XP SP3
insert OPENDATASOURCE('SQLOLEDB','Data Source=127.0.0.1\MSSQL;User ID=sa;Password=123456').TMS.dbo.seres 
SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User
ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]

--修改成其它电脑的IP,就报错
insert OPENDATASOURCE('SQLOLEDB','Data Source=10.7.15.1?\MSSQL;User ID=sa;Password=?').TMS.dbo.seres 
SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\test.xls";
User ID=Admin;Password=;Extended properties=Excel 8.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" 的数据源对象。
*/
--服务器windows server 2003已安装MDAC_TYP

--请各位大牛帮忙看一下是什么原因?如何处理,谢谢! 
--分不够可以在加..



------解决方案--------------------
是远程数据库的链接问题。
1、能不能正常访问该计算机
2、能不能链接到该数据库服务器,该服务器的身份验证方式?
3、该服务器有没有打开远程查询?
------解决方案--------------------
远程链接没有打开?TCP/IP协议没有打开?
TELNET 1433端口能通吗?
他机器上的是不是混合模式?
他机器上的EXCEL有没有关闭?
------解决方案--------------------
EXCEL你必须上传到远程服务器上C:\下。要不找不到EXCEL源文件。所以会报错。
------解决方案--------------------
本机向远程SQL数据库导出数据,要用VBA实现.
因为:
EXCEL不是服务器,不能直接向远程传送数据.

------解决方案--------------------
你这样写的语句,
是执行导入远程服务器C:\test.xls下的文件
而不是本机的C:\test.xls文件,可以把本地C盘其享,
--试试:
insert OPENDATASOURCE('SQLOLEDB','Data Source=10.7.15.1?\MSSQL;User ID=sa;Password=?').TMS.dbo.seres 
SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="\\本机IP\C:\test.xls";
User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]

------解决方案--------------------
文件不在服务器上你找什么找