国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

其他數(shù)據(jù)庫向Oracle8i的轉(zhuǎn)移分析

2024-08-29 13:39:30
字體:
供稿:網(wǎng)友

  如何實現(xiàn)MS SQL 7.0、Sysbase、access向Oracle8i移植
  隨著Oracle在中國的廣泛應(yīng)用,許多原來使用MS SQL7.0、Sysbase、Access等數(shù)據(jù)庫的用戶都碰到了數(shù)據(jù)移植的問題。 其實,存在著許多的方法,這里將介紹3種方法。
  1、使用MS SQL7.0自帶的Import/EXPort工具
   Import/Export工具可以方便的把數(shù)據(jù)移植到Oracle。你需要通過定義ODBC For Oracle 作為目的源。這樣的方法可以保證SQL7的絕大部分?jǐn)?shù)據(jù)移植到Oracle中去,但預(yù)先你必須在Oracle建立user 和 相應(yīng)的tablespace。因為SQL7中有一些非凡的datatype,如text、image等。當(dāng)一個table中有多于一個text或image的字段時,將出現(xiàn)錯誤,不
  能執(zhí)行。這是你需要做出選擇,或者把text 鏡像為varchar2(4000),或者鏡像為Long datatype,但long datatype一個table里只能有一個。而且,還有可能碰到字符集的問題,最好用第三種方法或者第四種。所以你碰到這樣的情況,可以結(jié)合使用第3種方法。
  
  2、使用Oracle Migration Workbanch。
   目前的版本是2.2,這個工具可以在http://technet.oracle.com/免費下載。它是Oracle提供的一個代替SQl*Loader的工具,當(dāng)然目前該工具仍然不能完全取代SQL*Loade
  r。使用OMWB,只要你定義了ODBC for MS SQL7 或Access或Sysbase,就可以很方便的把
  tabels、views、triger、PRocedure、shortnaps、users等完全轉(zhuǎn)到Oracle中去,對于text,可以鏡像為CLOB類型,CLOB類型可以在一個Oracle table里有多列。 image可以鏡像為BLOB。但是遺憾的是,OMWB2.2不支持中文CLOB,無論我如何調(diào)整,數(shù)據(jù)migrate到Oracle后,都變成了????,假如誰有解決的方法,別忘了email給我。我對OMWB對數(shù)據(jù)流(如image,video,sound)的控制非常的欣賞。
  3、使用Oracle的 SQL*Loader
   使用SQL*Loader,也許是最不方便的方法,但是是最有效的方法??梢允褂酶鞣N方法把源數(shù)據(jù)導(dǎo)到一個外部分件中。我使用了MS SQL7帶的BCP工具,可以把那些非凡多text字段的tables導(dǎo)出作為外部文件。然后使用SQL*Loader在把這些數(shù)據(jù)導(dǎo)到Oracle的一個臨時表里,在對第2中方法出現(xiàn)的????字段進(jìn)update。
  4、使用程序進(jìn)行移植
   例子:從SQL7.0向基于linux下的Oracle數(shù)據(jù)庫倒入數(shù)據(jù):
   程序語言:java與數(shù)據(jù)庫的連接
  SQL7.0:jdbc-odbc橋,java自帶。
   Oracle:jdbc,Oracle提供。
   代碼如下:
  import java.lang.*;
  import java.sql.*;
  import oracle.jdbc.driver.*;
  //倒入要用到的包
  public class hhw extends Object {
  public static void main(String args[])
  throws SQLException, ClassNotFoundException
  //拋出SQLException異常
  {
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  Class.forName ("oracle.jdbc.driver.OracleDriver");
  // 登記驅(qū)動程序,預(yù)備聯(lián)接數(shù)據(jù)庫
  Connection cn1 =DriverManager.getConnection ("jdbc:oracle:thin:@192.168.1.52:1521:SONIC", "sadly", "sadly");
  Connection cn2 =DriverManager.getConnection ("jdbc:odbc:sql", "sa", "");
  //聯(lián)接到數(shù)據(jù)庫,建立到兩個數(shù)據(jù)庫的連接
  Statement s1=cn1.createStatement();
  Statement s2=cn2.createStatement();

  ResultSet rs1=s2.executeQuery("select * from users where id>0 and id<40000 "
  );
  //從數(shù)據(jù)源中取得數(shù)據(jù),定義一些中間變量
  int id;
  String name=new String("1");
  String passwd=new String("1");
  String email=new String("1");
  //執(zhí)行另一個查詢,向目的數(shù)據(jù)庫插入數(shù)據(jù)
  while(rs1.next())
  {id=rs1.getInt(1);
  name=rs1.getString("name");
  passwd=rs1.getStrin("passwd");
  email=rs1.getString("email");
  //System.out.print(id+name+passwd+email);
  s1.executeQuery("insert into bbsuser values('"+id+"','"+name+"','"+passwd+"','"+email+"')");
  }
  }}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 佛山市| 邻水| 灵山县| 华蓥市| 瑞昌市| 拜城县| 雅江县| 尼勒克县| 始兴县| 仲巴县| 外汇| 宁津县| 温宿县| 萨嘎县| 江津市| 阳泉市| 冷水江市| 庆云县| 鲜城| 阿拉尔市| 清远市| 刚察县| 宁德市| 保康县| 同江市| 抚宁县| 久治县| 舒兰市| 宁阳县| 礼泉县| 昭苏县| 汪清县| 年辖:市辖区| 叙永县| 永和县| 榆树市| 黄平县| 塔河县| 惠水县| 靖边县| 湟源县|