很急!请大家帮忙!关于向MSSQL中导入Excel的问题! ( 积分: 100 )

  • 主题发起人 lifangchao2008
  • 开始时间
L

lifangchao2008

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是我向SQL中导入Excel的代码,在本地运行正常!<br>而要是向远程服务器中就不可用了,请大家帮忙解决以下!非常感谢!<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;DM.ADOHQTDS&nbsp;do<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL.Clear;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL.Add('if&nbsp;exists&nbsp;(select&nbsp;*&nbsp;from&nbsp;dbo.sysobjects&nbsp;where&nbsp;id&nbsp;=&nbsp;object_id(N''[dbo].[导出表_Temp]'')&nbsp;and&nbsp;OBJECTPROPERTY(id,&nbsp;N''IsUserTable'')&nbsp;=&nbsp;1)');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL.Add('drop&nbsp;table&nbsp;[dbo].[导出表_Temp]');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL.Add('SELECT&nbsp;*&nbsp;INTO&nbsp;导出表_Temp&nbsp;FROM');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQL.Add('OPENROWSET(''MSDASQL.1'',''driver=Microsoft&nbsp;Excel&nbsp;Driver&nbsp;(*.xls);'+'DBQ='+Edit1.Text+''','+'''select&nbsp;*&nbsp;from&nbsp;[sheet1$]'''+')');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExecSQL;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Label2.Caption&nbsp;:=&nbsp;'导入完成';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.MessageBox('数据导入完成!','提示',64);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;
 
下面的是在SQL查询分析器中所写的代码:<br>if&nbsp;exists&nbsp;(Select&nbsp;*&nbsp;from&nbsp;dbo.sysobjects&nbsp;where&nbsp;id&nbsp;=&nbsp;object_id(N'[dbo].[导出表_Temp]')&nbsp;and&nbsp;OBJECTPROPERTY(id,&nbsp;N'IsUserTable')&nbsp;=&nbsp;1)&nbsp;<br>drop&nbsp;table&nbsp;[dbo].[导出表_Temp]<br>SELECT&nbsp;*&nbsp;INTO&nbsp;导出表_Temp&nbsp;FROM<br>OPENROWSET('MSDASQL','driver=Microsoft&nbsp;Excel&nbsp;Driver&nbsp;(*.xls);DBQ=C:/Documents&nbsp;and&nbsp;Settings/Administrator/桌面/Excel111.XLS','Select&nbsp;*&nbsp;from&nbsp;[sheet1$]')
 
帮帮忙啊![:(]
 
楼主只说&quot;向远程服务器中就不可用&quot;<br>到底怎么不可用,大家还没明白,是有错误还是没反应等造成的?<br>我想可能的原因是数据库的连接串写的不对,这里连接的是另外一台机器的库它和连接本机库是不同的
 
什么错误
 
呵呵,不好意思我着急就打错字了!<br>是通过:<br>if&nbsp;exists&nbsp;(Select&nbsp;*&nbsp;from&nbsp;dbo.sysobjects&nbsp;where&nbsp;id&nbsp;=&nbsp;object_id(N'[dbo].[导出表_Temp]')&nbsp;and&nbsp;OBJECTPROPERTY(id,&nbsp;N'IsUserTable')&nbsp;=&nbsp;1)&nbsp;<br>drop&nbsp;table&nbsp;[dbo].[导出表_Temp]<br>SELECT&nbsp;*&nbsp;INTO&nbsp;导出表_Temp&nbsp;FROM<br>OPENROWSET('MSDASQL','driver=Microsoft&nbsp;Excel&nbsp;Driver&nbsp;(*.xls);DBQ=C:/Documents&nbsp;and&nbsp;Settings/Administrator/桌面/Excel111.XLS','Select&nbsp;*&nbsp;from&nbsp;[sheet1$]')&nbsp;<br>语句可以将Excel文件导入本地的SQL服务器上,但是不能够导入到其他的SQL服务器上!<br><br><br>客户需要用户能够通过本软件进行数据导入功能!
 
如:我是客户端(192.168.5.90)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而SQL服务器是在(192.168.5.66)上<br><br>我通过ADO连接了192.168.5.66,通过以上语句应该可以将Excel导入到192.168.5.66中,但是运行提示:<br><br>Project&nbsp;LJERP.exe&nbsp;raised&nbsp;exception&nbsp;class&nbsp;EOleException&nbsp;with&nbsp;message&nbsp;'[OLE/DB&nbsp;provider&nbsp;returned&nbsp;message:&nbsp;[Microsoft][ODBC&nbsp;Excel&nbsp;Driver]&nbsp;Microsoft&nbsp;Jet&nbsp;数据库引擎找不到对象'sheet1$'。请确定对象是否存在,并正确地写出它的名称和路径。]'.&nbsp;Process&nbsp;stopped.&nbsp;Use&nbsp;Step&nbsp;or&nbsp;Run&nbsp;to&nbsp;continue.<br><br><br>快快忙忙弟弟吧!或者大家给我提供一个其他方式的导入代码
 
看你的错误好像是没有找到Excel文件的位置,或者是Excel表中的sheet1名字不对应,你仔细查检一下吧
 
路径转换~~&nbsp;&nbsp;&nbsp;连其它服务器时,去那个服务器找文件了...
 
學習學習。。。。
 
请高手出招![:)]
 
顶部