Ⅰ oracle資料庫連接方式有幾種
SQL SERVER連接oracle資料庫幾種方法
--1 方式
--查詢oracle資料庫中的表
SELECT*
FROMOPENDATASOURCE(
'MSDAORA',
'DataSource=GE160;UserID=DAIMIN;Password=DAIMIN'
)..DAIMIN.JOBS
--在sqlserver中創建與oracle資料庫中的表同名的表
select*intoJOBSfrom
OPENDATASOURCE(
'MSDAORA',
'DataSource=GE160;User
ID=daimin;Password=daimin'
)..DAIMIN.JOBS
select*fromJOBS
--2、方式
--在master資料庫中查看已經存在的鏈接伺服器
select*fromsysservers
EXECsp_addlinkedserver
@server='GE160',
@srvproct='Oracle',
@provider='MSDAORA',
@datasrc='GE160'
execsp_addlinkedsrvlogin'GE160',false,'sa','daimin','daimin'
--要在企業管理器內指定登錄帳號
execsp_dropserverGE160
select*fromGE160..DAIMIN.JOBS
deletefromGE160..DAIMIN.JOBS
--備註:引用ORACLE伺服器上的表時,用戶名稱與表名一定要大寫字母。
SELECT*
FROMOPENQUERY(GE160,'SELECT*FROMDAIMIN.JOBS')
--3、方式
SELECTa.*
FROMOPENROWSET('MSDAORA',
'GE160';'DAIMIN';'DAIMIN',
DAIMIN.JOBS)ASa
ORDERBYa.JOB_ID
--4、方式 ODBC
--ODBC方式比較好辦
SELECTA.*
FROM
OPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN',--GE160是數據源名
DAIMIN.JOBS)AS
A
ORDERBYA.JOB_ID
Ⅱ 如何連接oracle資料庫
使用sqlplus連接oracle11g資料庫步驟如下所示:
方法一:
1、找到sqlplus,在開始菜單你安裝的oracle-》應用程序開發目錄下面;
Ⅲ sql 連接oracle的幾種方式
1、相等連接
通過兩個表具有相同意義的列,可以建立相等連接條件。
只有連接列上在兩個表中都出現且值相等的行才會出現在查詢結果中。
例 查詢員工信息以及對應的員工所在的部門信息;
SELECT * FROM EMP,DEPT;
SELECT * FROM EMP,DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO;
REM 顯示工資超過2000的員工信息以及對應的員工的部門名稱。
2、
外連接
對於外連接,Oracle中可以使用「(+)」來表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面將配合實例一一介紹。除了顯示匹配相等連接條件的信息之外,還顯示無法匹配相等連接條件的某個表的信息。
外連接採用(+)來識別。
A) 左條件(+) = 右條件;
代表除了顯示匹配相等連接條件的信息之外,還顯示右條件所在的表中無法匹配相等連接條件的信息。
此時也稱為"右外連接".另一種表示方法是:
SELECT ... FROM 表1 RIGHT OUTER JOIN 表2 ON 連接條件
B) 左條件 = 右條件(+);
代表除了顯示匹配相等連接條件的信息之外,還顯示左條件所在的表中無法匹配相等連接條件的信息。
此時也稱為"左外連接".
SELECT ... FROM 表1 LEFT OUTER JOIN 表2 ON 連接條件
例 顯示員工信息以及所對應的部門信息
--無法顯示沒有部門的員工信息
--無法顯示沒有員工的部門信息
--SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO;
--直接做相等連接:
SELECT * FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;
REM 顯示員工信息以及所對應的部門信息,顯示沒有員工的部門信息
--SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO(+) = DEPT.DEPTNO;
SELECT * FROM EMP RIGHT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;
REM 顯示員工信息以及所對應的部門信息,顯示沒有部門的員工信息
--SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO(+);
SELECT * FROM EMP LEFT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;
3、不等連接
兩個表中的相關的兩列進行不等連接,比較符號一般為>,<,...,BETWEEN.. AND..
REM SALGRADE
--DESC SALGRADE;
--SELECT * FROM SALGRADE;
REM 顯示員工的編號,姓名,工資,以及工資所對應的級別。
SELECT EMPNO,ENAME,SAL,SALGRADE.* FROM SALGRADE,EMP
WHERE EMP.SAL BETWEEN LOSAL AND HISAL;
REM 顯示雇員的編號,姓名,工資,工資級別,所在部門的名稱;
SELECT EMPNO,ENAME,SAL,GRADE,DNAME FROM EMP,DEPT,SALGRADE
WHERE EMP.DEPTNO = DEPT.DEPTNO AND EMP.SAL BETWEEN LOSAL AND HISAL;
4、自連接
自連接是資料庫中經常要用的連接方式,使用自連接可以將自身表的一個鏡像當作另一個表來對待,從而能夠得到一些特殊的數據。下面介紹一下自連接的方法:
將原表復制一份作為另一個表,兩表做笛卡兒相等連接。
例:顯示雇員的編號,名稱,以及該雇員的經理名稱
SELECT WORKER.ENAME,WORKER.MGR,MANAGER.EMPNO,MANAGER.ENAME FROM EMP WORKER,EMP MANAGER
WHERE WORKER.MGR = MANAGER.EMPNO;
Ⅳ ORACLE幾種表連接方式的區別
oracle中多表連接有很多種方式:
1、表與表連接有三種方式Nested loop, Hash join, Sort merge join。
2、Nested Loop就是循環嵌套的連接方法,對於被連接子集都是比較小的話,嵌套循環就是比較好的選擇。在嵌套中,內表被外表驅動,外表做一次循環,內表針對外表的每一行做循環。
3、這種表的返回結果集不能太大,否則就效率實在太低的,而且還要用在表都有索引的情況下才行的。
4、Sort Merge Join 用在數據沒有索引,並且數據必須是都排序號的情況。
5、總之,兩表之間相連,會根據表之間的不同情況選擇不同的連接方式,連接其實就是做表之間每行數據的遍歷,連之前都要做好准備,有么用索引,要麼用已排序號的表,要麼就用hash演算法,不存在什麼都不準備的純遍歷循環。
6、三種連接使用前提,當表都排序號的話用Sort Merge Join連接,當兩表都差不多大而且都還有索引就用Nested Loop的嵌套連接,當沒有索引也沒排序,而且數據量大的情況下就用這個hash演算法進行相連。
Ⅳ 客戶端連接ORACLE的幾種方法
裝個跟服務端上相同版本的oracle客戶端,再裝個pl/sql配置一下就能連上了:
找到你oracle客戶端安裝目錄中的tnsnames.ora文件,修改
zbds_251=
(description=
(address_list=
(address=(protocol=tcp)(host=140.28.19.251)(port=1521))
)
(connect_data=
(service_name=zbds)
)
)
「zbds」是你的oracle資料庫實例名,140.28.19.251是你的遠程伺服器的ip,「zbds_251」隨便起,是給pl/sql看的。
Ⅵ oracle與Java連接方法
1.數據源連接,要新建數據源TestDataBase
package com.shenjun;
import java.sql.*;
public class conn {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection ct = DriverManager.getConnection("jdbc:odbc:TestDataBase","scott","tiger");
Statement sm = ct.createStatement();
ResultSet rs = sm.executeQuery("select * from student");
while(rs.next()){
System.out.println("用戶名:"+rs.getString(2));
}
}catch(Exception e){
e.printStackTrace();
}
}
}
2.jdbc連接,引jar包
package com.shenjun;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class conn2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL","scott","tiger");
Statement sm = ct.createStatement();
ResultSet rs = sm.executeQuery("select * from student");
while(rs.next()){
System.out.println("用戶名:"+rs.getString(2));
}
}catch(Exception e){
e.printStackTrace();
}
}
}
Ⅶ oracle 安裝後如何連接
前提是電腦必須安裝oracle客戶端。
配置方法:
1、找到oracle的安裝目錄。如:C:oracleproct10.2.0db_1 etworkADMIN
2、找到tnsnames.ora文件。
Ⅷ 如何連接Oracle資料庫
Connection conn = null;
Class.forName("oracle.jdbc.driver.OracleDriver");//加入oracle的驅動,「」裡面是驅動的路徑
String url = "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL";// 資料庫連接,oracle代表鏈接的是oracle資料庫;thin:@MyDbComputerNameOrIP代表的是資料庫所在的IP地址(可以保留thin:);1521代表鏈接資料庫的埠號;ORCL代表的是資料庫名稱
String UserName = "root";// 資料庫用戶登陸名 ( 也有說是 schema 名字的 )
String Password = "2006";// 密碼
conn = DriverManager.getConnection(url, UserName, Password);
Ⅸ oracle連接
如果始終都只有一個用戶的話,一直連接方式更好,因為連上去又斷開,這樣也是費時費力的。
連接池就是這樣的,保證始終若干個連接,如果訪問的多了,就增加連接,少了的話,就減為設置參數的連接數。