亚洲免费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
        麻豆国产成人av高清在线观看| 午夜福利影院成人影院| 日本国产成人国产在线播放| 午夜福利麻豆国产精品| 国产AⅤ无码久久丝袜美腿| 亚洲性码不卡视频在线| 一区二区亚洲精品在线| 国产成人一区二区三区| 最近日韩激情中文字幕| 国产99久久精品一区| 中文有码人妻字幕在线 | 女邻居的大乳中文字幕| 久久精品无码一区二区三区蜜费 | 成人一区二区三区国产| 无码人妻精品一区二区三区9厂| 中文字幕无线码中文字幕| 日本嗯啊在线观看| 亚洲精品国产亚洲av| 国产成人亚洲综合无码品善网| 日韩无码视频淫乱| av网址不卡免费在线观看| 国产内射视频在线免费观看| 又长又大又粗又硬3p免费视频 | 国产成人精品日本亚洲11| 99综合精品久久| 久久精品国产69国产精品亚洲| av鲁丝一区鲁丝二区鲁丝三区| 亚洲中文字幕每日更新| 女同性恋一区二区三区四区| 日韩精品 在线 国产 丝袜| 国产成人精品av| 欧美熟妇与小伙性欧美交| 久久精品国产亚洲av影院毛片| 又大又粗又爽18禁免费看| 亚洲电影一区二区三区 | 亚洲视频一区二区三区视频 | 国内精品极品久久免费看| 一区二区三区四区国产99| 秋霞午夜无码鲁丝片午夜精品| 无码国产精品色午夜| 亚洲天堂一区二区偷拍|