• <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

            国产精品18久久久久久vr | 久久精品一本到99热免费| 亚洲一区中文字幕久久| 99久久免费国产精品| 亚洲国产综合久久天堂| 久久精品日日躁夜夜躁欧美| 久久综合给合久久国产免费 | 午夜精品久久久久久中宇| 国内精品伊人久久久久av一坑| 狠狠精品干练久久久无码中文字幕| 三级片免费观看久久| 成人国内精品久久久久影院| 国产精品九九久久免费视频| 久久精品aⅴ无码中文字字幕不卡| 精品久久久久久亚洲精品 | 久久99国产精品尤物| 少妇被又大又粗又爽毛片久久黑人| 无码日韩人妻精品久久蜜桃 | 久久国产精品99久久久久久老狼| 亚洲欧美国产日韩综合久久| 久久中文娱乐网| 久久国产精品99精品国产| 久久无码高潮喷水| 久久久综合香蕉尹人综合网| 99久久超碰中文字幕伊人| 亚洲综合精品香蕉久久网| 久久综合久久综合亚洲| 久久久国产精华液| 国产午夜福利精品久久| 国产一级做a爰片久久毛片| 久久婷婷成人综合色综合| 久久国产欧美日韩精品免费| 精品无码久久久久久久久久 | 国产成人精品久久一区二区三区av | 无码人妻久久一区二区三区蜜桃| 夜夜亚洲天天久久| 99久久精品这里只有精品| 国产精品成人99久久久久 | 久久久中文字幕日本| 无码乱码观看精品久久| 国产精品久久久久久久久久影院|