亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        探討VFP9.0到SQL2008的數(shù)據(jù)遷移

        2018-03-22 01:37:14吳昊江蘇省木瀆高級中學
        數(shù)碼世界 2018年3期
        關(guān)鍵詞:數(shù)據(jù)類型段長度字段

        吳昊 江蘇省木瀆高級中學

        VFP是Microsoft公司推出的可視化數(shù)據(jù)庫管理系統(tǒng)平臺,是功能強大的32位數(shù)據(jù)庫管理系統(tǒng),對于輕量化的數(shù)據(jù)管理系統(tǒng)開發(fā)來說,VFP是最為快捷高效的,時至今日,仍然有不少應用是用VFP開發(fā),但隨著WEB應用開發(fā)的需求越來越高,MYSQL、SQL、ORACLE這些數(shù)據(jù)庫管理軟件更適合網(wǎng)絡化時代的需要,本文就VFP數(shù)據(jù)如何轉(zhuǎn)入SQL SERVER來做一個探討。

        1 數(shù)據(jù)遷移中需要關(guān)注的問題:

        要注意VFP和SQL SERVER之間的數(shù)據(jù)格式的區(qū)別,如果通過EXCEL進行間接轉(zhuǎn)換,原有數(shù)據(jù)表的結(jié)構(gòu)就無法保證了,在做數(shù)據(jù)遷移時,需要把VFP和SQL SERVER的數(shù)據(jù)類型進行對照,在轉(zhuǎn)換過程中,還需要注意到原數(shù)據(jù)中實際存放的信息,如果是字符型且?guī)в凶冮L中文的,如姓名字段,那么在遷入SQL SERVER時,對應的數(shù)據(jù)類型應該是nvarchar,否則會導致中文信息無法顯示。DBF中的時間類型字段T可以僅存儲時間,無年份日期值,在遷入SQL SERVER的datatime類型時會因為年份是0000而報錯,需要提前做好預處理。

        2 實現(xiàn)過程:

        由于dataset和sql server之間的銜接最方便,首先,通過oledb方式將DBF文件的數(shù)據(jù)讀取到dataset中,但在實際讀取時,OleDbDataAdapter的fill方法讀取到的字段長度是固定的(最大長度),為保證遷入SQL SERVER的同時節(jié)省空間,還需要通過FillSchema方法把原DBF的數(shù)據(jù)結(jié)構(gòu)保存下來:

        public DataSet importDbfToDataSet(string FilePath){

        string strDir=Path.GetDirectoryName(FilePath);

        String Tabname=Path.GetFileNameWithoutExtension(FilePath);

        string strSelect = "SELECT * FROM "+Tabname;

        string conStr = @"Provider=VFPOLEDB.1;Data Source=" + strDir + ";Collating Sequence=machine;";

        O l e D b C o n n e c t i o n c o n n = n e w OleDbConnection(conStr);

        conn.Open();

        O l e D b D a t a A d a p t e r d a = n e w OleDbDataAdapter(strSelect, conn);

        DataSet ds = new DataSet();

        da.Fill(ds,"source");

        da.FillSchema(ds, SchemaType.Mapped,"structure");

        //數(shù)據(jù)保存在source表,結(jié)構(gòu)保存在structure表

        conn.Close();

        return thisDataSet;}

        第二步,則是遍歷數(shù)據(jù)集中的結(jié)構(gòu)表,在SQL SERVER中建立對應的數(shù)據(jù)表,這里需要做一個數(shù)據(jù)類型的轉(zhuǎn)換,以常見的字符型、整型、布爾型、日期型為例,由于是已經(jīng)讀取到datatable中,所以應該是判斷系統(tǒng)的數(shù)據(jù)類型轉(zhuǎn)換為對應的SQL SERVER中的數(shù)據(jù)類型:

        public DataType GetDataType(string dataType,int length){

        DataType DTTemp = null;

        switch (dataType){

        case ("System.Decimal"):

        DTTemp = DataType.Decimal(2, 18); break;case ("System.String"):

        DTTemp = DataType.NVarChar(length);break;case ("System.Int32"):

        DTTemp = DataType.Int;break;case ("System.Boolean"):

        DTTemp = DataType.Bit;break;case ("System.DateTime"):

        DTTemp=DataType.DateTime;break;}return DTTemp;}

        根據(jù)讀取到的數(shù)據(jù)類型和字段長度,在SQL SERVER中建立好對應的數(shù)據(jù)表:

        foreach(DataColumn dc in dtStruc.Columns){

        tempTc = new Column(newTable, dc.ColumnName);tempTc.DataType=GetDataType(dc.DataType.ToString(),dc.MaxLength);

        newTable.Columns.Add(tempTc);}

        前面這些步驟完成后,接下來要用到SQL SERVER的一個SqlBulkCopy類,這個類用于數(shù)據(jù)庫之間大批量的數(shù)據(jù)傳遞。通常用于新、舊數(shù)據(jù)庫之間數(shù)據(jù)的更新。即使表結(jié)構(gòu)完全不同,也可以通過字段間的對應關(guān)系,順利的將數(shù)據(jù)導過來,源數(shù)據(jù)可以用Datatable,也可以用SqlDataReader。因為SqlDataReader不占用內(nèi)存,如果是對大批量的數(shù)據(jù)復制,不需要事先導入到系統(tǒng),可以優(yōu)先采用DataReader方式,這兩個方式導入數(shù)據(jù)的效率,都要比直接insert into要高得多:

        SqlBulkCopy sbc = new SqlBulkCopy(conn)

        sbc.DestinationTableName = strDesTable;

        sbc.WriteToServer(dt);

        通過以上步驟,可以實現(xiàn)VFP到SQL的遠程數(shù)據(jù)遷移,至于SQL SERVER中的數(shù)據(jù)到導出到DBF,通過管理工具中的DTS數(shù)據(jù)轉(zhuǎn)換服務很方便地實現(xiàn)。

        希望本文能給那些需要進行VFP和SQL SERVER進行數(shù)據(jù)遷移的用戶一些幫助,也希望廣大IT同仁對本文存在的不足能給予指正。

        [1]王倩,王偉.基于ASP.NET的數(shù)據(jù)遷移方法[J].現(xiàn)代電子技術(shù) ,2008(18):71-73.

        [2]柴榮君,馬惠鋮.基于VFP環(huán)境下進行數(shù)據(jù)轉(zhuǎn)移的方法探究[J].科技資訊 ,2010(30):28.

        猜你喜歡
        數(shù)據(jù)類型段長度字段
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
        如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
        過渡段長度對混合梁橋的受力影響
        CNMARC304字段和314字段責任附注方式解析
        高強鋼組合K型偏心支撐框架耗能梁段長度研究
        無正題名文獻著錄方法評述
        關(guān)于CNMARC的3--字段改革的必要性與可行性研究
        圖書館建設(2014年3期)2014-02-12 15:41:35
        不同自由段長度預應力錨索力學特性分析
        預應力錨索不同錨固長度對錨索及巖體的影響
        河南科技(2013年7期)2013-08-14 05:28:02
        亚洲一二三四五区中文字幕| 国产亚洲综合一区二区三区| 日本97色视频日本熟妇视频 | 亚洲综合偷自成人网第页色| 欧美日韩性高爱潮视频| 久久精品日本美女视频| 久亚洲一线产区二线产区三线麻豆| 国产亚洲一区二区三区综合片| 人妻仑乱a级毛片免费看| 亚洲午夜福利在线观看| 国产日本在线视频| 美女裸体无遮挡黄污网站| 一本之道加勒比在线观看| 日韩在线精品视频一区| 国产精品国产三级国产专播| 国产乱妇乱子在线播视频播放网站| 成人片99久久精品国产桃花岛| 国产肥熟女视频一区二区三区| 国产av丝袜熟女丰满一区二区| 无套内内射视频网站| 人妻少妇精品视频专区| 欧美疯狂性xxxxxbbbbb| 国产精品九九九久久九九| 中文字幕一二区中文字幕| 中文字幕丰满人妻被公强| 午夜一区二区三区观看| 中文字幕日韩精品有码视频| 狠狠色成人综合网| 久久亚洲高清观看| 少妇高潮太爽了免费网站| 成人在线观看视频免费播放| 久久久亚洲免费视频网| 久久久久88色偷偷| 亚洲中文字幕无码一区| 2021久久精品国产99国产 | 亚洲一区二区三区偷拍自拍| 亚洲中文字幕久久精品色老板| 精品偷拍被偷拍在线观看| 国产亚洲视频在线观看网址| 开心五月婷婷综合网站| 日本午夜剧场日本东京热|