大家做系统更新或者升级都可能要触及到数据的转换。
对于oracle中的数据转换可以用写存储过程来放之游标,将你要的数据一条一条的转换。
而对于server虽然你可以将它转换到oracle中(升级的方式),但有问题你会发现有的表是不可以直接转换的!
所以我就用代码控制直接转换!也是一种比较容易控制容易写的方法!
首先你要在程序中建立连接(server的)
string strcon="workstation id=xj;packet size=4096;user id=sa;data source=\"automap\\automap\";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;
}
}