网站架构基本知识,网页分为哪几种类型,建设工程合同分类有哪些,全国免费发布信息平台把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘 /* 2005版本 和2000 版本 sql server 错误日志结果不同。 下面是 适用于 SQL2000的 其中加入了 自己编写的一个ftp小程序 用来上传 相关日志状况*/IF object_id(tempdb..#error_log) IS NOT NULLD… 把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘 /* 2005版本 和2000 版本 sql server 错误日志结果不同。 下面是 适用于 SQL2000的 其中加入了 自己编写的一个ftp小程序 用来上传 相关日志状况*/IF object_id(tempdb..#error_log) IS NOT NULLDROP TABLE #error_loggo--2000 CREATE TABLE #error_log(id INT IDENTITY(1,1), ErrorContent VARCHAR(8000),continueRow int)insert INTO #error_log EXEC master.dbo.xp_readerrorlog UPDATE a SET ErrorContent LEFT(b.ErrorContent,23) a.ErrorContentFROM #error_log aINNER JOIN #error_log b ON a.id b.id a.continueRowWHERE a.continueRow0DECLARE str VARCHAR(8000)SET str SELECT id,errorcontent,continuerow FROM #error_log WHERE ErrorContent LIKE CONVERT(VARCHAR(10),DATEADD(dd,-1,GETDATE()) ,120) %OR ErrorContent LIKE CONVERT(VARCHAR(10),GETDATE() ,120) %exec talkins.dbo.p_exporttb sqlstr str,path e:\fanr\temp ,fname SQLLog.xls ,sheetname loggoexec master..xp_cmdshell e:\fanr\temp\myftp.exe p e:\fanr\temp\ /fanr SQLLog.xlsgoexec master..xp_cmdshell del e:\fanr\temp\SQLLog.xls /*--数据导出EXCEL导出表中的数据到Excel,包含字段名,文件为真正的Excel文件,如果文件不存在,将自动创建文件,如果表不存在,将自动创建表基于通用性考虑,仅支持导出标准数据类型--邹建 2003.10(引用请保留此信息)--*//*--调用示例p_exporttb sqlstr select * from t2 ,path d:\ ,fname a1.xls ,sheetname local2--*/ create PROCEDURE p_exporttb (sqlstr sysname, --查询语句,如果查询语句中使用了order by ,请加上top 100 percent,注意,如果导出表/视图,用上面的存储过程 path nvarchar(1000), --文件存放目录 fname nvarchar(250), --文件名 sheetname varchar(250) --要创建的工作表名,默认为文件名 )as--select sqlstr select * from t2 ,path d:\ ,fname a1.xls ,sheetname local declare err int,src nvarchar(255),desc nvarchar(255),out int declare obj int,constr nvarchar(1000),sql varchar(8000),fdlist varchar(8000) --参数检测 if isnull(fname,) set fnametemp.xls if isnull(sheetname,) set sheetnamereplace(fname,.,#) --检查文件是否已经存在 if right(path,1)\ set pathRTRIM(path)\ IF object_id(tempdb..#tb) IS NOT NULLDROP TABLE #tbcreate table #tb(a bit,b bit,c bit) set sqlpathfname insert into #tb exec master..xp_fileexist sql --数据库创建语句 set sqlpathfname if exists(select 1 from #tb where a1) set constrDRIVER{Microsoft Excel Driver (*.xls)};DSN;READONLYFALSE ;CREATE_DBsql;DBQsql else set constrProviderMicrosoft.Jet.OLEDB.4.0;Extended PropertiesExcel 8.0;HDRYES ;DATABASEsql--连接数据库 exec errsp_oacreate adodb.connection,obj out if err0 goto lberr exec errsp_oamethod obj,open,null,constr if err0 goto lberr --创建表的SQL declare tbname sysname set tbname##tmp_convert(varchar(38),newid()) set sqlselect * into [tbname] from(sqlstr) a exec(sql) select sql,fdlist select fdlistfdlist,a.name ,sqlsql,[a.name] case when b.name in(char,nchar,varchar,nvarchar) then text(cast(case when a.length255 then 255 else a.length end as varchar)) when b.name in(tynyint,int,bigint,tinyint) then int when b.name in(smalldatetime,datetime) then datetime when b.name in(money,smallmoney) then money else b.name end FROM tempdb..syscolumns a left join tempdb..systypes b on a.xtypeb.xusertype where b.name not in(image,text,uniqueidentifier,sql_variant,ntext,varbinary,binary,timestamp) and a.id(select id from tempdb..sysobjects where nametbname) select sqlcreate table [sheetname ](substring(sql,2,8000)) ,fdlistsubstring(fdlist,2,8000) exec errsp_oamethod obj,execute,out out,sql if err0 goto lberr exec errsp_oadestroy obj --导入数据 set sqlopenrowset(MICROSOFT.JET.OLEDB.4.0,Excel 8.0;HDRYES ;DATABASEpathfname,[sheetname$]) exec(insert into sql(fdlist) select fdlist from [tbname]) set sqldrop table [tbname] exec(sql) return lberr: exec sp_oageterrorinfo 0,src out,desc out lbexit: select cast(err as varbinary(4)) as 错误号 ,src as 错误源,desc as 错误描述 select sql,constr,fdlist GO posted on 2011-07-22 14:37 Fanr_Zh 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/Amaranthus/archive/2011/07/22/2113855.html