MAC主机eclipse连接parallels内win7虚拟机oracle

step 1. 关闭windows防火墙

开始 -> 控制面板 -> 系统和安全 -> windows防火墙 -> 打开和关闭防火墙

(这步后需要重启)

step 2. 配置虚拟机和主机在一个局域网

parallels右下角设置(点开设置,或先展开后点击蜘蛛网的图标),

 

选择桥接网络下的“默认适配器”(mac地址应该有,博主涂掉了 :P)

step 3. win7中点开“网络和共享中心”看虚拟机ipv4

本地连接 -> 详细信息 -> 抄下ipv4,子网等信息(截屏方便些)

step 4. 固定ip (后测试这步不做貌似也可以)

退回到本地连接 -> 属性 -> ipv4 -> 属性 -> 使用下面ip地址(把刚刚截屏信息抄下)

step 5. 修改listener.ora文件(我的是oracle11g)

文件位置:<oracle安装文件夹>\product\11.2.0\dbhome_1\NETWORK\ADMIN

在“(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))”后添加这句“(ADDRESS = (PROTOCOL = TCP)(HOST = <虚拟机ipv4>)(PORT = 1521))”

step 6. 现在就可以连接啦

测试class:

package test;//新建java project为test

import java.util.*;
import java.sql.*;

public class Ex1
{

    //Connection Variables
      Connection mainConnection = null;
      Statement mainStatement = null;
      ResultSet mainResultset1 = null;


      public static void main(String[] args)
    {
        Ex1 e = new Ex1();
    }

    /********************************************/
    /* constructor                                */
    /********************************************/
     public Ex1()
    {
        System.out.println();
        ConnectToDB();
    }


    /********************************************/
    /* Connecting to DB                            */
    /********************************************/
    public void ConnectToDB()
     {
        try
        {
            // loading Oracle Driver
            System.out.print("Looking for Oracle's jdbc-odbc driver ... ");
            DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
            System.out.println(", Loaded.");

            String URL = "jdbc:oracle:thin:@<虚拟机ip>:1521:<数据库SID>";
            String userName = <数据库用户名>;
            String password = <密码>;

            System.out.print("Connecting to DB...");
            mainConnection = DriverManager.getConnection(URL, userName, password);
            System.out.println(", Connected!");

            mainStatement = mainConnection.createStatement();

           }
           catch (Exception e)
           {
             System.out.println( "Error while connecting to DB: "+ e.toString() );
             e.printStackTrace();
             System.exit(-1);
           }
     }
}

posted @ 2013-10-23 10:34  Joyce-Lee  阅读(942)  评论(0编辑  收藏  举报