色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

SERVER數據轉換ORACLE問題

瀏覽:18日期:2023-11-20 11:27:36
大家做系統更新或者升級都可能要觸及到數據的轉換。對于Oracle中的數據轉換可以用寫存儲過程來放之游標,將你要的數據一條一條的轉換。而對于SERVER雖然你可以將它轉換到ORACLE中(升級的方式),但有問題你會發現有的表是不可以直接轉換的!所以我就用代碼控制直接轉換!也是一種比較輕易控制輕易寫的方法!首先你要在程序中建立連接(server的)string strCon='workstation id=XJ;packet size=4096;user id=sa;data source='automapautomap';persist security info=True;initial catalog=bgxtrmt;passWord=sa';string strTxt = 'SELECT tworder_code, stru_b, layer_b, area_ub, area_b, east, south, west, north, area_sb, densy_b, grean_b, park, park_bike, other_area,grean_b,sp_build_p FROM bgxtpab2_1';SqlConnection SqlCon = new SqlConnection(strCon);SqlCommand SqlCmd = new SqlCommand(strTxt,SqlCon);SqlCon.Open();然后將你要讀的數據用dataReader.reader方法讀進來!SqlDataReader SqlDR = SqlCmd.ExecuteReader(CommandBehavior.CloseConnection);while(SqlDR.Read()){try{OracleCon.Open();Bgxtpab2_1 bg = new Bgxtpab2_1();//Doc d = new Doc();//int i = -1;bg.Tworder_Code = SqlDR.GetString(0).Trim();bg.Stru_B = SqlDR.IsDBNull(1)?'':SqlDR.GetString(1).Trim();bg.Layer_B = SqlDR.IsDBNull(2)?0:SqlDR.GetInt32(2);bg.Area_UB = SqlDR.IsDBNull(3)?'':SqlDR.GetString(3);bg.Area_B = SqlDR.IsDBNull(4)?'':SqlDR.GetString(4);bg.East_B = SqlDR.IsDBNull(5)?'':SqlDR.GetString(5).Trim();bg.South_B = SqlDR.IsDBNull(6)?'':SqlDR.GetString(6).Trim();bg.West_B = SqlDR.IsDBNull(7)?'':SqlDR.GetString(7).Trim();bg.North_B = SqlDR.IsDBNull(8)?'':SqlDR.GetString(8).Trim();//bg.Layer_BD = SqlDR.IsDBNull(++i)?0.0F:SqlDR.GetInt32(i);bg.Area_SB = SqlDR.IsDBNull(9)?'':SqlDR.GetString(9);bg.Densy_B = SqlDR.IsDBNull(10)?'':SqlDR.GetString(10);bg.Park = SqlDR.IsDBNull(11)?0.0F:SqlDR.GetFloat(11);bg.Park_Bike = SqlDR.IsDBNull(12)?0.0F:SqlDR.GetFloat(12);bg.OTher_Area = SqlDR.IsDBNull(13)?0.0F:SqlDR.GetFloat(13); bg.Grean_B = SqlDR.IsDBNull(14)?0.0F:SqlDR.GetFloat(14); bg.Sp_build_P = SqlDR.IsDBNull(15)?'':SqlDR.GetString(15); 這樣你就獲得了你要的數據,還要提到的是!你必須為你想讀的表寫個數據表的類!using System;namespace ProjectBulid{/// <summary>/// Bgxtpab2_1工程數據表/// </summary>public class Bgxtpab2_1{string tworder_code;//string project_b;string densy_b; string stru_b; int layer_b; string area_ub; string area_b; string usage_b; string east; string south; string west; string north; string area_sb; float grean_b; float park; float park_bike; // decimal other_area_b; string sp_build_p; float other_area; public Bgxtpab2_1(){tworder_code = '';//project_b= '';stru_b = '';layer_b = 0;area_ub = '';area_b = '';usage_b = '';east = ''; south= '';west = '';north = '';//layer_db = 0;area_sb = '';densy_b = '';grean_b = 0.0F;park = 0.0F;park_bike = 0.0F;sp_build_p = '';other_area = 0.0F;}public string Tworder_Code{get{return tworder_code;}set{tworder_code = value;}}public string Densy_B{get{return densy_b;}set{densy_b = value;}}// public int Project_B// {// get// {// return project_b;// }// set// {// project_b = value;// }// }public string Stru_B{get{return stru_b;}set{stru_b = value;}}public int Layer_B{get{return layer_b;}set{layer_b = value;}}public string Area_UB{get{return area_ub;}set{area_ub = value;}}public string Area_B{get{return area_b;}set{area_b = value;}}public string Usage_B{get{return usage_b;}set{usage_b = value;}}public string East_B{get{return east;}set{east = value;}}public string South_B{get{return south;}set{south = value;}}public string West_B{get{return west;}set{west = value;}}public string North_B{get{return north;}set{north = value;}}// public int Layer_BD// {// get// {// return layer_db;// }// set// {// layer_db = value;// }// }public string Area_SB{get{return area_sb;}set{area_sb = value;}}public float Grean_B{get{return grean_b;}set{grean_b = value;}}public float Park{get{return park;}set{park = value;}}public float Park_Bike{get{return park_bike;}set{park_bike = value;}}public string Sp_build_P{get{return sp_build_p;}set{sp_build_p = value;}}public float OTher_Area{get{return other_area;}set{other_area = value;}}}}下面要做的就是往oracle中寫你要的數據了!建立連接:string OracleString = 'user id=constrUCt;data source=oracle;password=rose';string OracleText = “在這里寫你要插入的sql語句“OracleConnection OracleCon = new OracleConnection(OracleString);OracleCommand OracleCmd = new OracleCommand(OracleText,OracleCon);然后幫oracle表中構造字段:#region BuildingEnnginger參數設置OracleCmd.Parameters.Clear();OracleCmd.Parameters.Add(':DOCID',OracleType.Int32);OracleCmd.Parameters.Add(':CONSTRUCTDENSITY',OracleType.Float);OracleCmd.Parameters.Add(':BUILDINGTOTALHEIGHT',OracleType.Float); OracleCmd.Parameters.Add(':GREENAREA',OracleType.Float);OracleCmd.Parameters.Add(':PARKINGAREA',OracleType.Float);OracleCmd.Parameters.Add(':MINIPARKINGAREA',OracleType.Float);OracleCmd.Parameters.Add(':OTHERESTABLISHMENTAREA',OracleType.Float);OracleCmd.Parameters.Add(':CUBAGERATE',OracleType.Float);OracleCmd.Parameters.Add(':LANDUSAGE',OracleType.Int32);OracleCmd.Parameters.Add(':AGROUNDFLOORCOUNT',OracleType.Int32);OracleCmd.Parameters.Add(':UNDERGROUNDFLOORCOUNT',OracleType.Int32);OracleCmd.Parameters.Add(':EAST',OracleType.VarChar);OracleCmd.Parameters.Add(':WEST',OracleType.VarChar);OracleCmd.Parameters.Add(':SOUTH',OracleType.VarChar);OracleCmd.Parameters.Add(':NORTH',OracleType.VarChar);OracleCmd.Parameters.Add(':ORIGINALUSELANDAREA',OracleType.VarChar);OracleCmd.Parameters.Add(':ORIGINALBUILDINGAREA',OracleType.Float);OracleCmd.Parameters.Add(':ORIGINALSTRUCTURETYPE',OracleType.VarChar);OracleCmd.Parameters.Add(':ORIGINALFLOORAMOUNT',OracleType.Int32);OracleCmd.Parameters.Add(':ORIGINALEAST',OracleType.VarChar);OracleCmd.Parameters.Add(':ORIGINALWEST',OracleType.VarChar);OracleCmd.Parameters.Add(':ORIGINALSOUTH',OracleType.VarChar);OracleCmd.Parameters.Add(':ORIGINALNORTH',OracleType.VarChar);OracleCmd.Parameters.Add(':BUILDINGMEMO',OracleType.VarChar);OracleCmd.Parameters.Add(':ALLPLINTHAREA',OracleType.Float);OracleCmd.Parameters.Add(':DESIGNAGROUNDFLOOR',OracleType.Int32);OracleCmd.Parameters.Add(':DESIGNUNDERGROUNDFLOOR',OracleType.Int32);OracleCmd.Parameters.Add(':DESIGNSPECIALTIESFLOOR',OracleType.VarChar);#endregion #region 參數附值OracleCmd.Parameters[':DOCID'].Value = SelectInsert(bg.Tworder_Code).ToString(); //這里是傳參數進去獲得想得到的數據后面的就是你俯值的具體代碼了;( 如bg.Densy_B)if(bg.Densy_B.ToString() == '')OracleCmd.Parameters[':CONSTRUCTDENSITY'].Value = DBNull.Value;elseOracleCmd.Parameters[':CONSTRUCTDENSITY'].Value = bg.Densy_B;OracleCmd.Parameters[':BUILDINGTOTALHEIGHT'].Value = DBNull.Value;if(bg.Grean_B.ToString() == '')OracleCmd.Parameters[':GREENAREA'].Value = DBNull.Value;elseOracleCmd.Parameters[':GREENAREA'].Value = bg.Grean_B;if(bg.Park.ToString() =='')OracleCmd.Parameters[':PARKINGAREA'].Value = DBNull.Value;elseOracleCmd.Parameters[':PARKINGAREA'].Value = bg.Park;if(bg.Park_Bike.ToString() =='')OracleCmd.Parameters[':MINIPARKINGAREA'].Value = DBNull.Value;elseOracleCmd.Parameters[':MINIPARKINGAREA'].Value = bg.Park_Bike;if(bg.OTher_Area.ToString() == '')OracleCmd.Parameters[':OTHERESTABLISHMENTAREA'].Value = DBNull.Value;elseOracleCmd.Parameters[':OTHERESTABLISHMENTAREA'].Value = bg.OTher_Area;OracleCmd.Parameters[':CUBAGERATE'].Value = DBNull.Value;OracleCmd.Parameters[':LANDUSAGE'].Value = DBNull.Value; //詞典if(bg.Layer_B.ToString() == '')OracleCmd.Parameters[':AGROUNDFLOORCOUNT'].Value = DBNull.Value;elseOracleCmd.Parameters[':AGROUNDFLOORCOUNT'].Value = bg.Layer_B;OracleCmd.Parameters[':UNDERGROUNDFLOORCOUNT'].Value = DBNull.Value; if(bg.East_B == '')OracleCmd.Parameters[':EAST'].Value = DBNull.Value;elseOracleCmd.Parameters[':EAST'].Value = bg.East_B;if(bg.West_B == '')OracleCmd.Parameters[':WEST'].Value = DBNull.Value;elseOracleCmd.Parameters[':WEST'].Value = bg.West_B;if(bg.South_B == '')OracleCmd.Parameters[':SOUTH'].Value = DBNull.Value;elseOracleCmd.Parameters[':SOUTH'].Value = bg.South_B;if(bg.North_B == '')OracleCmd.Parameters[':NORTH'].Value = DBNull.Value;elseOracleCmd.Parameters[':NORTH'].Value = bg.North_B;if(bg.Area_UB == '')OracleCmd.Parameters[':ORIGINALUSELANDAREA'].Value = DBNull.Value;elseOracleCmd.Parameters[':ORIGINALUSELANDAREA'].Value = bg.Area_UB;if(bg.Area_B == '')OracleCmd.Parameters[':ORIGINALBUILDINGAREA'].Value = DBNull.Value;elseOracleCmd.Parameters[':ORIGINALBUILDINGAREA'].Value = bg.Area_B;if(bg.Stru_B == '')OracleCmd.Parameters[':ORIGINALSTRUCTURETYPE'].Value = DBNull.Value;elseOracleCmd.Parameters[':ORIGINALSTRUCTURETYPE'].Value = bg.Stru_B;OracleCmd.Parameters[':ORIGINALFLOORAMOUNT'].Value = DBNull.Value;OracleCmd.Parameters[':ORIGINALEAST'].Value = DBNull.Value;OracleCmd.Parameters[':ORIGINALWEST'].Value = DBNull.Value;OracleCmd.Parameters[':ORIGINALSOUTH'].Value = DBNull.Value;OracleCmd.Parameters[':ORIGINALNORTH'].Value = DBNull.Value;OracleCmd.Parameters[':BUILDINGMEMO'].Value = DBNull.Value;OracleCmd.Parameters[':ALLPLINTHAREA'].Value = DBNull.Value;OracleCmd.Parameters[':DESIGNAGROUNDFLOOR'].Value = DBNull.Value;OracleCmd.Parameters[':DESIGNUNDERGROUNDFLOOR'].Value = DBNull.Value;OracleCmd.Parameters[':DESIGNSPECIALTIESFLOOR'].Value = DBNull.Value;最后要講到的就是寫函數來獲得你要從其他表中得到的數據!public int SelectInsert(string tm){int id = 0;try{string OracleString = 'user id=construct;data source=oracle;password=rose';OracleConnection OracleConn = new OracleConnection(OracleString);OracleConn.Open();//string temp;string str = 'SELECT ID FROM document.DOC WHERE TM = '' +tm.Trim() +'''; OracleCommand OracleComd = new OracleCommand(str,OracleConn);Object obj = OracleComd.ExecuteScalar();if(obj != null){id = Convert.ToInt32(obj); }//id = int.Parse(OracleComd.ExecuteOracleScalar().ToString());#region// Object obj = OracleComd.ExecuteReader();// if(obj!=null)// {// id = Convert.ToInt32(obj);// }// if(obj >1)// {// id = Convert.ToInt32(obj) + 100;// }#endregionOracleConn.Close();OracleConn.Dispose();//DR1.Dispose();}catch(Exception ex){Debug.Fail(ex.Message +'-'+ ex.StackTrace);}return id;}這里隨你怎么寫!無論是要什么值只要在其他表中有關聯的字段,就可以獲得你想要的數據!程序寫到這里也差不多完了。這是我想到的一種方法!大家有什么好方法共享寫大家一起學習!多指教!!!
標簽: Oracle 數據庫
主站蜘蛛池模板: 国产成人18黄网站免费 | 亚洲精品成人一区 | 国产精品亚洲综合网站 | bt天堂午夜国产精品 | ffyybb免费福利视频 | 亚洲国产精品aaa一区 | 久久99爱视频 | 韩国精品视频在线观看 | 99国产精品九九视频免费看 | 久久网在线 | 日韩免费毛片全部不收费 | 亚洲精品久久久久久久777 | 黄色美女免费 | 成人18免费入口 | 欧美黄网站免费观看 | 美女三级黄 | 国产精品亚洲专区在线播放 | 毛片韩国 | 国产美女一级视频 | 欧美一二三 | 日韩欧美精品一区二区 | 成人a级| 欧美videos另类齐全 | 美女黄色一级毛片 | 亚洲女人在线 | 国产中文字幕视频在线观看 | 亚洲男女网站 | 天天澡天天碰天天狠伊人五月 | 伊人久久大香线焦综合四虎 | 男女午夜爽爽 | 国产一区二区亚洲精品 | 亚洲一区二区三区成人 | 巨大热杵在腿间进进出出视频 | 欧美日韩专区国产精品 | 性久久久久久 | 亚洲人成高清 | 日本www免费视频网站在线观看 | 欧美成人在线免费观看 | 国产亚洲精品一区二区在线播放 | 波多野结衣在线观看一区 | 一级片高清 |