標籤:des io os ar 使用 for sp 檔案 資料
1、匯出非正式Excel
EXEC master..xp_cmdshell ‘bcp t.dbo.tcad out D:\MySelf\output\Temp.xls -c -q -S"." -U"sa" -P"sql2008"‘
--參數:S 是SQL伺服器名;U是使用者;P是密碼
2、啟用/停用xp_cmdshell
-- To allow advanced options to be changed.
EXEC sp_configure ‘show advanced options‘, 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure ‘xp_cmdshell‘, 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
-- To Disable advanced options to be changed.
EXEC sp_configure ‘show advanced options‘, 0
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
EXEC sp_configure ‘xp_cmdshell‘, 0
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
3、啟用/停用Ad Hoc Distributed Queries
--啟用Ad Hoc Distributed Queries的方法,執行下面的查詢語句就可以了:
exec sp_configure ‘show advanced options‘,1
reconfigure
exec sp_configure ‘Ad Hoc Distributed Queries‘,1
reconfigure
--使用完畢後,一定要關閉它,因為這是一個安全隱患,執行下面的SQL語句用來關閉:
exec sp_configure ‘Ad Hoc Distributed Queries‘,0
reconfigure
exec sp_configure ‘show advanced options‘,0
reconfigure
4、傳說中的匯出正式的Excel(實驗不成功)
/*--資料匯出EXCEL
匯出表中的資料到Excel,包含欄位名,檔案為真正的Excel檔案
,如果檔案不存在,將自動建立檔案
,如果表不存在,將自動建立表
基於通用性考慮,僅支援匯出標準資料類型
--鄒建 2003.10(引用請保留此資訊)--*/
/*--調用樣本
p_exporttb @tbname=‘地區資料‘,@path=‘c:\‘,@fname=‘aa.xls‘
--*/
--create proc p_exporttb
declare
@tbname varchar(100), --要匯出的表名
@path nvarchar(1000), --檔案存放目錄
@fname nvarchar(250), --檔案名稱,預設為表名
@err int,
@src nvarchar(255),
@desc nvarchar(255),
@out int,
@obj int,
@constr nvarchar(1000),
@sql varchar(8000),
@fdlist varchar(8000)
set @tbname=‘tcad‘
set @path=‘D:\MySelf\output\‘
set @fname=‘test‘
--參數檢測
if isnull(@fname,‘‘)=‘‘
set @[email protected]+‘.xls‘
--檢查檔案是否已經存在
if right(@path,1)<>‘\‘
set @[email protected]+‘\‘
--create table #tb(a bit,b bit,c bit)
set @[email protected][email protected]
--insert into #tb exec master..xp_fileexist @sql
--資料庫建立語句
set @[email protected][email protected]
--if exists(select 1 from #tb where a=1)
set @constr=‘DRIVER={Microsoft Excel Driver (*.xls)};DSN=‘‘‘‘;READONLY=FALSE‘
+‘;CREATE_DB="‘[email protected]+‘";DBQ=‘[email protected]
--else
--set @constr=‘Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES‘
--+‘;DATABASE=‘[email protected]+‘"‘
exec @constr
繼續努力!!!
sqlserver 匯出資料到Excel