科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SERVER数据转换ORACLE问题

SERVER数据转换ORACLE问题

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

大家做系统更新或者升级都可能要触及到数据的转换。 对于ORACLE中的数据转换可以用写存储过程来放之游标,将你要的数据一条一条的转换。 而对于SERVER虽然你可以将它转换到ORACLE中(升级的方式)。

作者:中国IT实验室 来源:中国IT实验室 2007年10月1日

关键字: ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

下面要做的就是往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;
else
OracleCmd.Parameters[":CONSTRUCTDENSITY"].Value = bg.Densy_B;
OracleCmd.Parameters[":BUILDINGTOTALHEIGHT"].Value = DBNull.Value;
if(bg.Grean_B.ToString() == "")
OracleCmd.Parameters[":GREENAREA"].Value = DBNull.Value;
else
OracleCmd.Parameters[":GREENAREA"].Value = bg.Grean_B;
if(bg.Park.ToString() =="")
OracleCmd.Parameters[":PARKINGAREA"].Value = DBNull.Value;
else
OracleCmd.Parameters[":PARKINGAREA"].Value = bg.Park;
if(bg.Park_Bike.ToString() =="")
OracleCmd.Parameters[":MINIPARKINGAREA"].Value = DBNull.Value;
else
OracleCmd.Parameters[":MINIPARKINGAREA"].Value = bg.Park_Bike;
if(bg.OTher_Area.ToString() == "")
OracleCmd.Parameters[":OTHERESTABLISHMENTAREA"].Value = DBNull.Value;
else
OracleCmd.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;
else
OracleCmd.Parameters[":AGROUNDFLOORCOUNT"].Value = bg.Layer_B;

OracleCmd.Parameters[":UNDERGROUNDFLOORCOUNT"].Value = DBNull.Value;
if(bg.East_B == "")
OracleCmd.Parameters[":EAST"].Value = DBNull.Value;
else
OracleCmd.Parameters[":EAST"].Value = bg.East_B;
if(bg.West_B == "")
OracleCmd.Parameters[":WEST"].Value = DBNull.Value;
else
OracleCmd.Parameters[":WEST"].Value = bg.West_B;
if(bg.South_B == "")
OracleCmd.Parameters[":SOUTH"].Value = DBNull.Value;
else
OracleCmd.Parameters[":SOUTH"].Value = bg.South_B;
if(bg.North_B == "")
OracleCmd.Parameters[":NORTH"].Value = DBNull.Value;
else
OracleCmd.Parameters[":NORTH"].Value = bg.North_B;
if(bg.Area_UB == "")
OracleCmd.Parameters[":ORIGINALUSELANDAREA"].Value = DBNull.Value;
else
OracleCmd.Parameters[":ORIGINALUSELANDAREA"].Value = bg.Area_UB;
if(bg.Area_B == "")
OracleCmd.Parameters[":ORIGINALBUILDINGAREA"].Value = DBNull.Value;
else
OracleCmd.Parameters[":ORIGINALBUILDINGAREA"].Value = bg.Area_B;
if(bg.Stru_B == "")
OracleCmd.Parameters[":ORIGINALSTRUCTURETYPE"].Value = DBNull.Value;
else
OracleCmd.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;
// }
#endregion
OracleConn.Close();
OracleConn.Dispose();
//DR1.Dispose();

}
catch(Exception ex)
{
Debug.Fail(ex.Message +"-"+ ex.StackTrace);
}
return id;
}
这里随你怎么写!无论是要什么值只要在其他表中有关联的字段,就可以获得你想要的数据!
程序写到这里也差不多完了。这是我想到的一种方法!
大家有什么好方法共享写大家一起学习!
多指教!!!

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章