电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

SERVER數據轉換ORACLE問題

瀏覽:44日期: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 數據庫
主站蜘蛛池模板: 电缆接头_防水接头_电缆防水接头_防水电缆接头_上海闵彬 | 液氨泵,液化气泵-淄博「亚泰」燃气设备制造有限公司 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | 东亚液氮罐-液氮生物容器-乐山市东亚机电工贸有限公司 | 不发火防静电金属骨料_无机磨石_水泥自流平_修补砂浆厂家「圣威特」 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 科客,主见不成见| 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 模切之家-专注服务模切行业的B2B平台! | 谷梁科技 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 万烁建筑设计院-建筑设计公司加盟,设计院加盟分公司,市政设计加盟 | 烘箱-工业烘箱-工业电炉-实验室干燥箱 - 苏州华洁烘箱制造有限公司 | 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 警用|治安|保安|不锈钢岗亭-售货亭价格-垃圾分类亭-移动厕所厂家-苏州灿宇建材 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 厂房出租_厂房出售_产业园区招商_工业地产&nbsp;-&nbsp;中工招商网 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 飞利浦LED体育场灯具-吸顶式油站灯-飞利浦LED罩棚灯-佛山嘉耀照明有限公司 | 【法利莱住人集装箱厂家】—活动集装箱房,集装箱租赁_大品牌,更放心 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 |