• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            We do not always find visible happiness in proportion to visible virtue

            夢幻白樺林

            SHARE

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              14 Posts :: 58 Stories :: 62 Comments :: 0 Trackbacks

            公告

            常用鏈接

            留言簿(5)

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            /******* 導出到excel
            EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'

            /*********** 導入Excel
            SELECT *
            FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
            'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

            /*動態文件名
            declare @fn varchar(20),@s varchar(1000)
            set @fn = 'c:\test.xls'
            set @s ='''Microsoft.Jet.OLEDB.4.0'',
            ''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''
            set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'
            exec(@s)
            */

            SELECT cast(cast(科目編號 as numeric(10,2)) as nvarchar(255))+' ' 轉換后的別名
            FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
            'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

            /********************** EXCEL導到遠程SQL
            insert OPENDATASOURCE(
            'SQLOLEDB',
            'Data Source=遠程ip;User ID=sa;Password=密碼'
            ).庫名.dbo.表名 (列名1,列名2)
            SELECT 列名1,列名2
            FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
            'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions


            /** 導入文本文件
            EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'

            /** 導出文本文件
            EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword'

            EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword'

            導出到TXT文本,用逗號分開
            exec master..xp_cmdshell 'bcp "庫名..表名" out "d:\tt.txt" -c -t ,-U sa -P password'


            BULK INSERT 庫名..表名
            FROM 'c:\test.txt'
            WITH (
            FIELDTERMINATOR = ';',
            ROWTERMINATOR = '\n'
            )


            --/* dBase IV文件
            select * from
            OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
            ,'dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客戶資料4.dbf]')
            --*/

            --/* dBase III文件
            select * from
            OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
            ,'dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客戶資料3.dbf]')
            --*/

            --/* FoxPro 數據庫
            select * from openrowset('MSDASQL',
            'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
            'select * from [aa.DBF]')
            --*/

            /**************導入DBF文件****************/
            select * from openrowset('MSDASQL',
            'Driver=Microsoft Visual FoxPro Driver;
            SourceDB=e:\VFP98\data;
            SourceType=DBF',
            'select * from customer where country != "USA" order by country')
            go
            /***************** 導出到DBF ***************/
            如果要導出數據到已經生成結構(即現存的)FOXPRO表中,可以直接用下面的SQL語句

            insert into openrowset('MSDASQL',
            'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
            'select * from [aa.DBF]')
            select * from 表

            說明:
            SourceDB=c:\ 指定foxpro表所在的文件夾
            aa.DBF 指定foxpro表的文件名.




            /*************導出到Access********************/
            insert into openrowset('Microsoft.Jet.OLEDB.4.0',
            'x:\A.mdb';'admin';'',A表) select * from 數據庫名..B表

            /*************導入Access********************/
            insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0',
            'x:\A.mdb';'admin';'',A表)

            文件名為參數
            declare @fname varchar(20)
            set @fname = 'd:\test.mdb'
            exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'',
            '''+@fname+''';''admin'';'''', topics) as a ')

            SELECT *
            FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
            'Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...產品

            ********************* 導入 xml 文件

            DECLARE @idoc int
            DECLARE @doc varchar(1000)
            --sample XML document
            SET @doc ='



            Customer was very satisfied




            Important
            Happy Customer.




            '
            -- Create an internal representation of the XML document.
            EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

            -- Execute a SELECT statement using OPENXML rowset provider.
            SELECT *
            FROM OPENXML (@idoc, '/root/Customer/Order', 1)
            WITH (oid char(5),
            amount float,
            comment ntext 'text()')
            EXEC sp_xml_removedocument @idoc



            ???????

            /**********************Excel導到Txt****************************************/
            想用
            select * into opendatasource(...) from opendatasource(...)
            實現將一個Excel文件內容導入到一個文本文件

            假設Excel中有兩列,第一列為姓名,第二列為很行帳號(16位)
            且銀行帳號導出到文本文件后分兩部分,前8位和后8位分開。


            鄒?。?br>如果要用你上面的語句插入的話,文本文件必須存在,而且有一行:姓名,銀行賬號1,銀行賬號2
            然后就可以用下面的語句進行插入
            注意文件名和目錄根據你的實際情況進行修改.

            insert into
            opendatasource('MICROSOFT.JET.OLEDB.4.0'
            ,'Text;HDR=Yes;DATABASE=C:\'
            )...[aa#txt]
            --,aa#txt)
            --*/
            select 姓名,銀行賬號1=left(銀行賬號,8),銀行賬號2=right(銀行賬號,8)
            from
            opendatasource('MICROSOFT.JET.OLEDB.4.0'
            ,'Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls'
            --,Sheet1$)
            )...[Sheet1$]



            如果你想直接插入并生成文本文件,就要用bcp

            declare @sql varchar(8000),@tbname varchar(50)

            --首先將excel表內容導入到一個全局臨時表
            select @tbname='[##temp'+cast(newid() as varchar(40))+']'
            ,@sql='select 姓名,銀行賬號1=left(銀行賬號,8),銀行賬號2=right(銀行賬號,8)
            into '+@tbname+' from
            opendatasource(''MICROSOFT.JET.OLEDB.4.0''
            ,''Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls''
            )...[Sheet1$]'
            exec(@sql)

            --然后用bcp從全局臨時表導出到文本文件
            set @sql='bcp "'+@tbname+'" out "c:\aa.txt" /S"(local)" /P"" /c'
            exec master..xp_cmdshell @sql

            --刪除臨時表
            exec('drop table '+@tbname)


            /********************導整個數據庫*********************************************/

            用bcp實現的存儲過程


            /*
            實現數據導入/導出的存儲過程
            根據不同的參數,可以實現導入/導出整個數據庫/單個表
            調用示例:
            --導出調用示例
            ----導出單個表
            exec file2table 'zj','','','xzkh_sa..地區資料','c:\zj.txt',1
            ----導出整個數據庫
            exec file2table 'zj','','','xzkh_sa','C:\docman',1

            --導入調用示例
            ----導入單個表
            exec file2table 'zj','','','xzkh_sa..地區資料','c:\zj.txt',0
            ----導入整個數據庫
            exec file2table 'zj','','','xzkh_sa','C:\docman',0

            */
            if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)
            drop procedure File2Table
            go
            create procedure File2Table
            @servername varchar(200) --服務器名
            ,@username varchar(200) --用戶名,如果用NT驗證方式,則為空''
            ,@password varchar(200) --密碼
            ,@tbname varchar(500) --數據庫.dbo.表名,如果不指定:.dbo.表名,則導出數據庫的所有用戶表
            ,@filename varchar(1000) --導入/導出路徑/文件名,如果@tbname參數指明是導出整個數據庫,則這個參數是文件存放路徑,文件名自動用表名.txt
            ,@isout bit --1為導出,0為導入
            as
            declare @sql varchar(8000)

            if @tbname like '%.%.%' --如果指定了表名,則直接導出單個表
            begin
            set @sql='bcp '+@tbname
            +case when @isout=1 then ' out ' else ' in ' end
            +' "'+@filename+'" /w'
            +' /S '+@servername
            +case when isnull(@username,'')='' then '' else ' /U '+@username end
            +' /P '+isnull(@password,'')
            exec master..xp_cmdshell @sql
            end
            else
            begin --導出整個數據庫,定義游標,取出所有的用戶表
            declare @m_tbname varchar(250)
            if right(@filename,1)<>'\' set @filename=@filename+'\'

            set @m_tbname='declare #tb cursor for select name from '+@tbname+'..sysobjects where xtype=''U'''
            exec(@m_tbname)
            open #tb
            fetch next from #tb into @m_tbname
            while @@fetch_status=0
            begin
            set @sql='bcp '+@tbname+'..'+@m_tbname
            +case when @isout=1 then ' out ' else ' in ' end
            +' "'+@filename+@m_tbname+'.txt " /w'
            +' /S '+@servername
            +case when isnull(@username,'')='' then '' else ' /U '+@username end
            +' /P '+isnull(@password,'')
            exec master..xp_cmdshell @sql
            fetch next from #tb into @m_tbname
            end
            close #tb
            deallocate #tb
            end
            go


            /************* Oracle **************/
            EXEC sp_addlinkedserver 'OracleSvr',
            'Oracle 7.3',
            'MSDAORA',
            'ORCLDB'
            GO

            delete from openquery(mailser,'select * from yulin')

            select * from openquery(mailser,'select * from yulin')

            update openquery(mailser,'select * from yulin where id=15')set disorder=555,catago=888

            insert into openquery(mailser,'select disorder,catago from yulin')values(333,777)
            posted on 2007-04-25 18:07 colys 閱讀(286) 評論(0)  編輯 收藏 引用 所屬分類: oracle 、SqlServer

            久久国产精品二国产精品| 国产99久久久国产精品小说| 伊人久久大香线焦AV综合影院| 午夜精品久久久内射近拍高清| 日韩乱码人妻无码中文字幕久久| 99久久人妻无码精品系列 | 久久九九久精品国产免费直播| 久久久这里有精品中文字幕| 久久久亚洲欧洲日产国码是AV| 四虎国产精品免费久久5151| 久久久高清免费视频| 久久综合丁香激情久久| 久久婷婷色综合一区二区| 国内精品久久久久久99蜜桃| 亚洲а∨天堂久久精品| 欧美亚洲国产精品久久蜜芽| 久久精品国产清自在天天线 | 久久久久国产精品麻豆AR影院| 天堂久久天堂AV色综合| 香蕉久久夜色精品国产小说| 久久99热这里只有精品国产| 久久久精品视频免费观看| 精品久久久久久| 久久久久亚洲精品天堂| 久久无码中文字幕东京热| 污污内射久久一区二区欧美日韩| 精品999久久久久久中文字幕| 亚洲AV日韩精品久久久久| 久久人与动人物a级毛片| 亚洲а∨天堂久久精品| 久久久久久国产精品免费免费| 91精品久久久久久无码| 91麻精品国产91久久久久| 久久精品国产影库免费看| 久久er国产精品免费观看2| 麻豆亚洲AV永久无码精品久久| 久久无码AV一区二区三区| 精品久久久久久久久免费影院| 一本久久免费视频| 国产成人无码精品久久久性色| 欧美日韩精品久久久久|