帮忙修改存储过程 本帖最后由 kinthtime 于 2011-04-26 23:41:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果格式可以这样换就不用发帖请教了excel文档很多,而且每天更新 换格式不现实 类似问题在C#里面我是先找到文件夹,然后表名加上[]即可,直接在存储过程中,我没有处理过你可以试一下'F:\excel\ID200001_大豆_2011-04-20.xls'得到后找到最后一个.和最后一个\中间的内容加上[] 试一试。 搞定:ALTER PROCEDURE spExcelOutIn @strOptions varchar(200) = NULL, @strWhere nvarchar(4000) = NULL,--导入/导出查询条件(包括Where 关键字) @strExcelPath nvarchar(1000) = NULL,--Excel的绝对路径 @strExcelSheetName nvarchar(50) = NULL,--Excel里要导入的工作表名称 如Sheet2,注意,后面不要加上$ @strExcelFiled nvarchar(1000) = NULL,--Excel工作表的字段 @strSqlTableName nvarchar(100) = NULL,--Sql数据库导入/导出表名 @strSqlFiled nvarchar(1000) = NULL--Sql表的字段ASDECLARE @strSql nvarchar(4000)IF OBJECT_ID('tempdb..##Temp') IS NOT NULL DROP TABLE ##TempIF @strOptions='In' AND NOT @strExcelPath IS NULL BEGIN SET @strExcelPath = '''Microsoft.Jet.OLEDB.4.0'',''Data Source="' + @strExcelPath + '";User ID=Admin;Password=;Extended properties=Excel 5.0''' SET @strSql = N'SELECT ' + @strExcelFiled + N' INTO ##Temp FROM OpenDataSource('+ @strExcelPath +N')...'+ QUOTENAME('''' + @strExcelSheetName +N'$''') --加单引号 +@strWhere --PRINT(@strSql) EXEC(@strSql) SET @strSql = 'INSERT INTO ' + @strSqlTableName + ' ('+ @strSqlFiled +') SELECT * FROM ##Temp' --PRINT(@strSql) EXEC(@strSql) IF OBJECT_ID('tempdb..##Temp') IS NOT NULL DROP TABLE ##TempENDGO 请问,如何使用mysql的正则来找出符合要求的数据 求一个用户访问序号的生成问题,分不多请大家帮忙 SQL 2008数据库日志太大导致无法附加 请教一个SQL语句的写法,有点难度!! 老是不能安装sql server 2000 求sql!急!!! 我的sqlserver2000服务器非常慢,是设置的问题还是计算机硬件的问题。 能不能介绍点sql server 和XML整合应用的电子书籍 我要做一个关于进销存的软件,帮我看看我的数据库表 如何操作image类型的字段? 征集高手思路!数据库设计! tempdb里面的某些临时表是怎么产生的?
excel文档很多,而且每天更新 换格式不现实
直接在存储过程中,我没有处理过你可以试一下
'F:\excel\ID200001_大豆_2011-04-20.xls'
得到后
找到最后一个.和最后一个\中间的内容加上[] 试一试。
ALTER PROCEDURE spExcelOutIn
@strOptions varchar(200) = NULL,
@strWhere nvarchar(4000) = NULL,--导入/导出查询条件(包括Where 关键字)
@strExcelPath nvarchar(1000) = NULL,--Excel的绝对路径
@strExcelSheetName nvarchar(50) = NULL,--Excel里要导入的工作表名称 如Sheet2,注意,后面不要加上$
@strExcelFiled nvarchar(1000) = NULL,--Excel工作表的字段
@strSqlTableName nvarchar(100) = NULL,--Sql数据库导入/导出表名
@strSqlFiled nvarchar(1000) = NULL--Sql表的字段
AS
DECLARE @strSql nvarchar(4000)
IF OBJECT_ID('tempdb..##Temp') IS NOT NULL
DROP TABLE ##TempIF @strOptions='In' AND NOT @strExcelPath IS NULL
BEGIN
SET @strExcelPath = '''Microsoft.Jet.OLEDB.4.0'',''Data Source="' + @strExcelPath + '";User ID=Admin;Password=;Extended properties=Excel 5.0''' SET @strSql =
N'SELECT ' + @strExcelFiled +
N' INTO ##Temp
FROM
OpenDataSource('+ @strExcelPath +N')...'+ QUOTENAME('''' + @strExcelSheetName +N'$''') --加单引号
+@strWhere --PRINT(@strSql)
EXEC(@strSql) SET @strSql = 'INSERT INTO ' + @strSqlTableName + ' ('+ @strSqlFiled +') SELECT * FROM ##Temp'
--PRINT(@strSql)
EXEC(@strSql)
IF OBJECT_ID('tempdb..##Temp') IS NOT NULL
DROP TABLE ##Temp
END
GO