999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

探討VFP9.0到SQL2008的數據遷移

2018-03-22 01:37:14吳昊江蘇省木瀆高級中學
數碼世界 2018年3期
關鍵詞:數據庫結構方法

吳昊 江蘇省木瀆高級中學

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

1 數據遷移中需要關注的問題:

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

2 實現過程:

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

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");

//數據保存在source表,結構保存在structure表

conn.Close();

return thisDataSet;}

第二步,則是遍歷數據集中的結構表,在SQL SERVER中建立對應的數據表,這里需要做一個數據類型的轉換,以常見的字符型、整型、布爾型、日期型為例,由于是已經讀取到datatable中,所以應該是判斷系統的數據類型轉換為對應的SQL SERVER中的數據類型:

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;}

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

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類,這個類用于數據庫之間大批量的數據傳遞。通常用于新、舊數據庫之間數據的更新。即使表結構完全不同,也可以通過字段間的對應關系,順利的將數據導過來,源數據可以用Datatable,也可以用SqlDataReader。因為SqlDataReader不占用內存,如果是對大批量的數據復制,不需要事先導入到系統,可以優先采用DataReader方式,這兩個方式導入數據的效率,都要比直接insert into要高得多:

SqlBulkCopy sbc = new SqlBulkCopy(conn)

sbc.DestinationTableName = strDesTable;

sbc.WriteToServer(dt);

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

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

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

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

猜你喜歡
數據庫結構方法
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
數據庫
財經(2017年2期)2017-03-10 14:35:35
論《日出》的結構
數據庫
財經(2016年15期)2016-06-03 07:38:02
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 无码一区二区三区视频在线播放| 国产超薄肉色丝袜网站| 亚洲日本韩在线观看| 成人精品视频一区二区在线| 97无码免费人妻超级碰碰碰| 狠狠操夜夜爽| 亚洲色婷婷一区二区| 欧美色视频在线| a级毛片视频免费观看| 国产视频只有无码精品| 国产亚洲视频在线观看| 丁香五月激情图片| 99er精品视频| 国产精品人成在线播放| 久久久噜噜噜| 欧美日一级片| 欧美综合激情| 久久婷婷五月综合色一区二区| 中文成人在线| 欧美精品伊人久久| 亚洲成网站| 91尤物国产尤物福利在线| 国产亚洲视频免费播放| 亚洲高清无码久久久| 久久a毛片| 亚洲日本韩在线观看| 2021精品国产自在现线看| 久久综合色视频| 亚洲欧美另类日本| 精品国产三级在线观看| 国产欧美在线观看一区| 在线五月婷婷| 日本少妇又色又爽又高潮| 亚洲天堂视频网站| 91年精品国产福利线观看久久 | 五月激情婷婷综合| 欧美国产菊爆免费观看| 欧美成人影院亚洲综合图| 国产福利一区视频| 久久精品无码一区二区国产区| 人妻免费无码不卡视频| 少妇高潮惨叫久久久久久| 亚洲成人动漫在线观看| 在线播放真实国产乱子伦| 伦精品一区二区三区视频| 综合人妻久久一区二区精品| WWW丫丫国产成人精品| 成人a免费α片在线视频网站| 免费jizz在线播放| 狼友视频国产精品首页| 啊嗯不日本网站| 亚洲男人的天堂在线| 亚洲Va中文字幕久久一区 | 免费在线视频a| 欧美国产日产一区二区| 免费播放毛片| 99热这里都是国产精品| 尤物视频一区| 2020极品精品国产| 日韩在线欧美在线| 色综合久久88色综合天天提莫| 欧美视频免费一区二区三区| 亚洲一区无码在线| 国产中文在线亚洲精品官网| 无码啪啪精品天堂浪潮av| 热伊人99re久久精品最新地| 特级毛片免费视频| 亚洲国产日韩一区| 国产91小视频在线观看| 久久人人爽人人爽人人片aV东京热 | 国产精品福利导航| 亚洲美女操| 亚洲精品午夜无码电影网| 在线观看亚洲人成网站| 日韩麻豆小视频| 国产在线一区视频| 高清大学生毛片一级| 国产成人亚洲无码淙合青草| 亚洲最新在线| 99热这里只有成人精品国产| 久996视频精品免费观看| 青草视频在线观看国产|