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

首頁 > 數據庫 > Access > 正文

如何實現MSSQL7.0、Sysbase、Access向Oracle8i移植

2024-09-07 19:05:09
字體:
來源:轉載
供稿:網友
隨著Oracle在中國的廣泛應用,許多原來使用MS SQL7.0、Sysbase、access等數 據庫的用戶都碰到了數據移植的問題。其實,存在著許多的方法,這里將介紹3 種方法。

  1、使用MS SQL7.0自帶的Import/EXPort工具 Import/Export工具可以方便的把數據移植到Oracle。你需要通過定義ODBC For Oracle 作為目的源。這樣的方法可以保證SQL7的絕大部分數據移植到Oracl e中去,但預先你必須在Oracle建立user 和 相應的tablespace。因為SQL7中有 一 些非凡的datatype,如text 、image等。當一個table中有多于一個text或image 的字段時,將出現錯誤,不能執行。這是你需要做出選擇,或者把text 鏡像為v archar2(4000),或者鏡像為Long datatype,但long datatype一個table里只能 有一個。而且,還有可能碰到字符集的問題,最好用第三種方法或者第四種。所以你碰到這樣的情況,可以結合使用第3種方法。

  2、使用Oracle Migration Workbanch。 目前的版本是2.2,這個工具可以在http://technet.oracle.com免費下載。 它是Oracle提供的一個代替SQl*Loader的工具,當然目前該工具仍然不能完全取 代SQL*Loader。使用OMWB,只要你定義了ODBC for MS SQL7 或Access或Sysbase ,就可以很方便的把tabels、views、triger、PRocedure、shortnaps、users等完全轉到Oracle中去,對于text,可以鏡像為CLOB類型,CLOB類型可以在一個Or acle table里有多列。image可以鏡像為BLOB。但是遺憾的是,OMWB2.2不支持 中 文CLOB,無論我如何調整,數據migrate到Oracle后,都變成了????,假如誰有解決的方法,別忘了email給我。我對OMWB對數據流(如image,video,sound)的控制非常的欣賞。

  3、使用Oracle的 SQL*Loader 使用SQL*Loader,也許是最不方便的方法,但是是最有效的方法。可以使用各種方法把源數據導到一個外部分件中。我使用了MS SQL7帶的BCP工具,可以把 那些非凡多text字段的tables導出作為外部文件。然后使用SQL*Loader在把這些 數據導到Oracle的一個臨時表里,在對第2中方法出現的????字段進行update。

  4、使用程序進行移植 例子:從SQL7.0向基于linux下的Oracle數據庫倒入數據: 程序語言:java 與數據庫的連接 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"); // 登記驅動程序,預備聯接數據庫

Connection cn1 =DriverManager.getConnection"jdbc:oracle:thin:@192.168.1.52:1521:SONIC", "sadly", "sadly");
  Connection cn2 =DriverManager.getConnection"jdbc:odbc:sql", "sa", "" ); //聯接到數據庫,建立到兩個數據庫的連接

Statement s1=cn1.createStatement();
Statement s2=cn2.createStatement();
  ResultSet rs1=s2.executeQuery("select * from users where id>0 and id<4 0000 "); //從數據源中取得數據,定義一些中間變量


int id;

String name=new String("1");
String passwd=new String("1");
String email=new String("1"); //執行另一個查詢,向目的數據庫插入數據

while(rs1.next())
{id=rs1.getInt(1);
name=rs1.getString("name");
passwd=rs1.getString("passwd");
email=rs1.getString("email"); //System.out.print(id+name+passwd+email);
s1.executeQuery("insert into bbsuser values(//"+id+"/,//"+name+"/,//"+pas swd+"/,//"+email+"/)"); } }}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九台市| 霍邱县| 武城县| 酒泉市| 邓州市| 东兰县| 三河市| 砚山县| 阳东县| 东台市| 宁强县| 翁牛特旗| 高密市| 连平县| 怀远县| 莱阳市| 闽侯县| 桐乡市| 同心县| 临湘市| 林西县| 永修县| 清徐县| 阳西县| 吴旗县| 抚州市| 平陆县| 应城市| 云南省| 贵德县| 靖州| 青田县| 乌拉特后旗| 宜丰县| 安福县| 溧阳市| 仙桃市| 邵东县| 八宿县| 林西县| 新乐市|