--购物卡导入到工资基本资料列表
ALTER PROC [dbo].[P_EXCEL_TO_SQL]
@FileName VARCHAR(8000),
@FilePath VARCHAR(8000),
@ComputerName VARCHAR(8000),
@ComputerUser VARCHAR(8000),
@ComputerPSD VARCHAR(8000)
AS--先删险购物卡表里所有记录
DELETE FROM GOU
--然后从EXCEL文件插入记录
DECLARE @SQL VARCHAR(8000)
DECLARE @SQL1 VARCHAR(8000)
SET @SQL1='exec master..xp_cmdshell ''net use z: ' + @FilePath + '"' + @ComputerPSD + '"' + ' /user:' + @ComputerName + '\' + @ComputerUser + ''''EXEC (@SQL1)SET @SQL=
'INSERT INTO GOU
SELECT BH,XM,JE
FROM OPENROWSET
(''MICROSOFT.JET.OLEDB.4.0''
,''Excel 5.0;HDR=YES;DATABASE=' + @FilePath + ''',GOU$)'
EXEC (@SQL)exec master..xp_cmdshell 'net use z: /delete'
--更新工资基本资料列表
UPDATE EMPLOYEE
SET RUSER18=0UPDATE EMPLOYEE
SET RUSER18=B.JE
FROM EMPLOYEE A,GOU B
WHERE A.BH=B.BH--服务器为SER--在本地客户端执行下面的语句不行(本地电脑的查询分析器上 haochin为本地电脑,并已共享一个123的目录,里面有gou.xls)
--EXEC [dbo].[P_EXCEL_TO_SQL] '\\haochin\123\gou.xls','\\haochin\123','haochin','administrator','abc'
--大家帮我看看是怎么回事啊,是不是存储过程有什么问题,还是网络或电脑的用户名密码之类的问题。
'INSERT INTO GOU
SELECT BH,XM,JE
FROM OPENROWSET
(''MICROSOFT.JET.OLEDB.4.0''
,''Excel 5.0;HDR=YES;DATABASE=' + @FilePath + ''',GOU$)'这里应该是@FileName吧?
--直接執行上面的語句,看能都成功,確定你權限是否足夠
强人 FileName
EXEC [dbo].[P_EXCEL_TO_SQL] '\\haochin\123\gou.xls'已经映射了,还用网络路径呀?
(0 row(s) affected)output
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
发生系统错误 53。
NULL
找不到网络路径。
NULL
NULL(5 row(s) affected)Server: Msg 7399, Level 16, State 1, Line 1
OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
dobear_0922说得对,那个是方是@FileName,但问题是一样的。
SET @SQL1='exec master..xp_cmdshell ''net use z: ' + @FilePath + '"' + @ComputerPSD + '"' + ' /user:' + @ComputerName + '\' + @ComputerUser + ''''--> 改成
SET @SQL1='exec master..xp_cmdshell ''net use z: "' + @FilePath + '" "' + @ComputerPSD + '"' + ' /user:' + @ComputerName + '\' + @ComputerUser + ''''
,''Excel 5.0;HDR=YES;DATABASE=' + @FilePath + ''',GOU$)'
-- 应该是
,''Excel 5.0;HDR=YES;DATABASE=' + @FileName + ''',GOU$)'
敢问一下,老大贵庚啊。
这个是正常连接的句子