写之前,先搞清楚我们的目的。大前提是oracle数据库没在本机上;下面以目的分为两类:
1.使PL/SQL Developer能连接上数据库。
方法一:安装oracle client(客户端,安装时选Admin)
参考:直接下载oracle client安装或者使用oracle安装盘安装时选择客户端。安装最后一步,可以按照提示输入远程oracle服务器的ip和服务名,最后测试连接即可。也可以安装后打开Net Configuration Assistant配置“本地net服务名配置”。
方法二:安装Instant Client
参考:http://blog.csdn.net/helifengwell/article/details/5820434
方法三:手动操作
参考:http://zhidao.baidu.com/question/215308248.html
2.写代码连接数据库
此处就比较简单了,导入所用语言相应的库文件,直接coding即可。
例如:Java导入oracle-10.2.0.1-jdbc14.jar包即可。
下面顺便share一段java连接oracle的代码(log4j的配置文件就不上传了,需要的说一声):
import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class BaseDAO { //log4j private static final Log log = LogFactory.getLog(BaseDAO.class); private static String DB_URL = "jdbc:oracle:thin:@192.168.1.169:1521:test"; private static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver"; private static String DB_USERNAME = "test"; private static String DB_PASSWORD = "test"; // 用户拼接DB.properties的绝对路径,子类中赋值 public static String basePath = ""; /** * 获取数据库连接 * * @return */ public static Connection getConnection(){ // 从配置文件中读取配置 Properties p = new Properties(); InputStream in = null; try { System.out.println("basePath = " + basePath); log.info("Current directory is : " + basePath); in = new BufferedInputStream(new FileInputStream(basePath+"WEB-INF/classes/DB.properties")); p.load(in); log.info("Load "+basePath+"WEB-INF/classes/DB.properties succeeded."); } catch (Exception e) { log.error("Load "+basePath+"WEB-INF/classes/DB.properties failed."); System.out.println("Load "+basePath+"WEB-INF/classes/DB.properties failed."); e.printStackTrace(); } DB_URL = p.getProperty("DB_URL", "jdbc:oracle:thin:@192.168.1.169:1521:test"); DB_USERNAME = p.getProperty("DB_USERNAME", "test"); DB_PASSWORD = p.getProperty("DB_PASSWORD", "test"); log.info("DB props : "+DB_URL+" "+DB_USERNAME+" "+DB_PASSWORD); System.out.println("DB props : "+DB_URL+" "+DB_USERNAME+" "+DB_PASSWORD); Connection conn = null; try{ // 使用Class.forName()方法自动创建这个驱动程序的实例且自动调用DriverManager来注册它 Class.forName(DB_DRIVER); // 通过DriverManager的getConnection()方法获取数据库连接 conn = DriverManager.getConnection(DB_URL,DB_USERNAME,DB_PASSWORD); log.info("getConnection ok."); }catch(Exception ex){ log.error("getConnection error.", ex); ex.printStackTrace(); } return conn; } /** * 关闭数据库连接 * * @param conn */ public static void closeConnection(Connection conn){ try{ if(conn!=null){ // 判断当前连接,如果没有被关闭就关闭 if(!conn.isClosed()){ conn.close(); log.info("connection close ok."); } } }catch(Exception ex){ log.error("conncetion close error.", ex); ex.printStackTrace(); } } public void insert(Object o) { log.info("BaseDAO insert."); } public void delete(Object o) { log.info("BaseDAO delete."); } public void update(Object o) { log.info("BaseDAO update."); } public Object findAll() { log.info("BaseDAO findAll."); return null; } }
VB6连接oracle的示例:
Set conn110new = New ADODB.Connection '使用client中设置的“名称”连接 'conn110new.ConnectionString = "Provider=MSDAORA.1;Persist Security Info=False;User ID=test;Password=test;Data Source=test_192.168.1.169" '不安装任何client,直接连接 oracleconn110new.ConnectionString = "Provider=MSDAORA.1;Persist Security Info=False;User ID=test;Password=test;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.169)(PORT=1521)))(CONNECT_DATA=(SID=test)(SERVER=DEDICATED)))" conn110new.Open
C#连接Oracle:
不安装Oracle Client的情况:http://blog.csdn.net/kingzone_2008/article/details/8518009
安装Oracle Client:http://www.cnblogs.com/whldqpi/archive/2009/10/14/1582995.html
3. 本地配置数据源 采用JDBC ODBC连接
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:datasourcename");//这里我在本地配置了一个数据源叫datasourcename