這個是完全沒有問題的。 先期准備: 1、兩台電腦必須要聯網,能夠訪問到 2、將oracle的驅動程序拷貝到你的java的電腦上,並設置到環境變數中。 java代碼 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedS...
㈡ java如何連接oracle資料庫
在ORACLE_HOMEjdbclib目錄下的與Oracle JDBC Drives驅動有關的文件的解釋: - classes12.zip Classes for use with JDK 1.2.x. It contains the JDBC driver classes except classes necessary for NLS support in Object and Collection types. - nls_charset12.zip NLS classes for use with JDK 1.2.x. It contains classes necessary for NLS support in Object and Collection types. - classes12_g.zip Same as classes12.zip, except that classes were compiled with "javac -g". JDBC連接資料庫的語法: JDBC THIN: Code: [Copy to clipboard] Connection conn= DriverManager.getConnection ("jdbc:oracle:thin:@dlsun511:1521:ora1","scott","tiger"); | | | machine(ip@) : port# : sid JDBC OCI: Code: [Copy to clipboard] Connection conn= DriverManager.getConnection來源: 51cto 作者:Oracle小混子
㈢ 使用java連接oracle資料庫的詳細步驟,以及怎樣在oracle資料庫里建庫建表,和用戶名及許可權的設置
你按照我以下的步驟就可以建立java跟oracle的鏈接:
(1)首先要安裝oracle資料庫(這是廢話,不過這個過程中你可以設置用戶名機密碼他的許可權相當於管理員),然後啟動查詢分析器再用 great database databasename(數據 庫的名稱)的命令建立資料庫,之後就是要建立資料庫的表,建表的命令如下(我給你的例子是建立一個學生表):
usr database/*你剛才所建立的資料庫的名稱,一定要相同,那麼你就是再這個資料庫中建立了這個表*/
CREATE TABLE stu
(
sno char(10) NOT NULL /*學號欄位*/
CONSTRAINT PK_sno PRIMARY KEY CLUSTERED,/*主鍵約束*/
sname char(8) NOT NULL, /*姓名欄位*/
sex char(2) NULL, /*性別欄位*/
native int NULL, /*籍貫*/
birthday varchar(20) NULL,/*學生出生日期*/
dno char(6) NULL,/*學生所在院系編號(外鍵)*/
spno char(8) NULL,/*專業代碼(外鍵)*/
classno char(4) NULL,/*班級號*/
entime char(4) NULL,/*學生入校時間*/
home varchar(40) NULL,/*學生家庭住址*/
tel varchar(40) NULL/*學生聯系電話*/
)
這樣你的資料庫和相應的表就建成了,如果你需要對資料庫的許可權進行設置那麼就涉及到角色的賦予或者你安裝oracle時需要進行設置的用戶明及密碼,這塊說來就話長啦!如果你只是學習java和資料庫的鏈接,那麼這個可以暫時放一邊,如果你非得想知道那麼你需要系統學習資料庫的知識。我這里就不跟你介紹了。建立完表之後就需要對表插入數據(插入數據可以用java編程,用自己設置的軟體插入數據也可以用資料庫的查詢分析氣用sql語句插入)
(2)這一步也是java跟資料庫鏈接的關鍵,在你安裝了資料庫的那台pc機或者伺服器注冊數據源步驟:進入你電腦的控制面板——管理工具——數據源——系統DNS(選中)——添加(在這裡面有你要添加的數據源添加microsoft DOBC for Orccle,再這里點擊完成後會彈出一個對話框,要你填寫數據源的名稱這個名稱一定要記住,java鏈接程序編程時需要用到這個名稱,還有要填伺服器的名稱,這個名稱需要你的伺服器名稱,如果你是單台pc機實驗,那麼在你資料庫登錄的界面那個伺服器名稱就可以了,然後點擊下去進行必要的設置就可以了),這樣我們對資料庫部分的工作已經完成啦!接下來就是完成java的編程部分。
(3)這里就是java的編程部分,這里我給了你一個我從教材弄來的編好並調試成功的程序(當然這跟你自己建立的資料庫是相關的):
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
class add extends JFrame {
private StudentUI userInterface;
private JButton clearButton, writeButton;
// 載入啟動程序和建立資料庫的地址,遠程和對本機的資料庫載入是不一樣得,這里給你一個對本機資料庫的操作
static final String JDBC_DRIVER = "("oracle.jdbc.driver.OracleDriver";
static final String DATABASE_URL = "oracle.jdbc.driver:剛才叫你記住的那個數據源的名字";
// declare Connection and Statement for accessing
// and querying database
private Connection connection;
private Statement statement;
String sqlString ;
//set up column names
String names[] = { "學 號","姓 名","性 別","年 齡","所 在 系"};
// set up GUI
public Add()
{
super( "Add a record of students" );
initialize(); //connect to database
// create instance of reusable user interface
userInterface = new StudentUI( names ); // four textfields
getContentPane().add( userInterface, BorderLayout.CENTER );
// configure button doTask1 for use in this program
writeButton = userInterface.getDoTask1Button();
writeButton.setText( "保存" );
// register listener to call addRecord when button pressed
writeButton.addActionListener(
// anonymous inner class to handle writeButton event
new ActionListener() {
// call addRecord when button pressed
public void actionPerformed( ActionEvent event )
{
addRecord();
}
} // end anonymous inner class
); // end call to addActionListener
// configure button doTask2 for use in this program
clearButton = userInterface.getDoTask2Button();
clearButton.setText( "清除" );
// register listener to call userInterface clearFields() when button pressed
clearButton.addActionListener(
// anonymous inner class to handle clearButton event
new ActionListener() {
// call userInterface clearFields() when button pressed
public void actionPerformed( ActionEvent event )
{
userInterface.clearFields();
}
} // end anonymous inner class
); // end call to addActionListener
// register window listener to handle window closing event
addWindowListener(
// anonymous inner class to handle windowClosing event
new WindowAdapter() {
// add current record in GUI to file, then close file
public void windowClosing( WindowEvent event )
{
terminate(); //close databse
}
} // end anonymous inner class
); // end call to addWindowListener
setSize( 300, 200 );
setVisible( true );
} // end of constructor
// connect to database
public void initialize()
{
try {
Class.forName( JDBC_DRIVER );
// establish connection to database
connection = DriverManager.getConnection( DATABASE_URL,"sa",null );
// create Statement for querying database
statement = connection.createStatement();
}
catch ( SQLException sqlException ) {
JOptionPane.showMessageDialog( null, sqlException.getMessage(),
"Database Error", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
// detect problems loading database driver
catch ( ClassNotFoundException classNotFound ) {
JOptionPane.showMessageDialog( null, classNotFound.getMessage(),
"Driver Not Found", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
} // end method openFile
// close database
public void terminate()
{
try {
statement.close();
connection.close();
}
// handle exceptions closing statement and connection
catch ( SQLException sqlException ) {
JOptionPane.showMessageDialog( null,
sqlException.getMessage(), "Database Error",
JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
} // end method
// add record to file
public void addRecord()
{
String fieldValues[] = userInterface.getFieldValues();
// if sno field value is not empty
if ( ! fieldValues[ StudentUI.SNO ].equals( "" ) ) {
// output values to student
try {
int numberAge = Integer.parseInt(
fieldValues[ StudentUI.SAGE ] );
//define string for sql insert statement
String sqlInsert = "INSERT INTO student " +
"VALUES ('" +
fieldValues[0] + "', '" +
fieldValues[1] +"', '"+
fieldValues[2]+ "', "
+numberAge+",'"+fieldValues[4] + "')";
int result = statement.executeUpdate(sqlInsert);
if (result!=0) {
userInterface.clearFields();
JOptionPane.showMessageDialog( this,
"Inserted sucess!", "Insert Result",
JOptionPane.INFORMATION_MESSAGE );
}
} // end try
// process invalid age number
catch ( NumberFormatException formatException ) {
JOptionPane.showMessageDialog( this,
"Bad age number ", "Invalid Number Format",
JOptionPane.ERROR_MESSAGE );
}
// process exceptions from file output
catch (SQLException ee)
{ System.out.println(ee); }
} //end of if sno field value is not empty
else //if sno field value is empty
JOptionPane.showMessageDialog( this,
"Bad sno number ", "Invalid Number Format",
JOptionPane.ERROR_MESSAGE );
} // end method addRecord
public static void main( String args[] )
{
new AddStudentFrame();
}
} // end AddStudentFrame class
基本就這樣啦!不過那個界面的設計代碼就不給你啦!
㈣ java程序遠程連接oracle資料庫
你這另一台電腦是區域網內的麽?如果不是區域網內的,IP地址是dns動態代理的,你當然無法連接到,如果是區域網內的則設置相關的ora文件,配置監聽參數,並關閉防火牆
㈤ 你好,如何使用java連接遠程oracle資料庫,並且使用dblink進行數據插入
在遠程資料庫創建dblink,然後使用
insert into table_name(col_name1,col_name2,.....) select col_name1,col_name2,..... from table_name2@dblink_Name;
㈥ 在JAVA中怎麼連接Oracle資料庫初學者!高手請教!
首先的第一步,下載oracle資料庫驅動.(沒有驅動是連接不上的.)請到網路上搜索驅動.
建議你使用Hibernate連接資料庫.使用MyEclipse的開發工具,在項目上 郵件-->MyEclipse--Add Hibernate...(那串東西).配置全部是圖形化界面.(建議使用默認的方式)
在引用的時候一般都是:
Session session = HibernateSessionFactory.getSession();
List list = session.createQuery("from TableObject");
如果採用JDBC連接,請下載驅動(不會導包的話請教一下周圍的朋友)
獲取Connection對象的方法如下:
public class DbConnection
{
private String sConnStr = "";
/**
* 預設構造器
*/
public DbConnection()
{
sConnStr = "jdbc:oracle:thin:@10.1.4.199:1521:ora199";
}
/**
* @param ip,serviceName
*/
public DbConnection(String ip,String serviceName)
{
sConnStr = "jdbc:oracle:thin:@"+ip+":1521:"+serviceName;
}
/**
* 通過thin方式獲得Oracle資料庫的連接.
*/
public java.sql.Connection connectDbByThin()
{
java.sql.Connection conn=null;
try
{
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr,"sr","sr");
}
catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}
㈦ java連接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);
㈧ 如何用Java實現連接Oracle
1、工作環境:myeclipse中->新建java_oracle工程->新建包com.zp->新建java_oracle_jdbc.java類
2、需要配置Oracle資料庫驅動
java工程(java_oracle)—>右鍵屬性(Properties)->Java Build Path->Libraries->Add External JARs->添加oracle安裝目錄E:\oracle\proct\10.1.0\Db_1\jdbc\lib下的「classes12.jar」文件;
每次新建一個不同工程都需要配置一次
3、代碼如下:
package com.zp;
import java.sql.*;
public class java_oracle_jdbc {
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:simlink", "scott", "tiger");
Statement sm=ct.createStatement();
ResultSet rs=sm.executeQuery("select * from emp");
while(rs.next())
{
System.out.println("用戶名:"+rs.getString(2));
}
rs.close();
sm.close();
ct.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
㈨ java連接遠程Oracle資料庫關於SID
獲取sid一般有幾個方式:
1.由於在創建資料庫的時候,一般都是將資料庫名稱,實例名稱和sid設置成相同的,所以可以查:
select
instance_name
from
v$instance;
select
name
from
v$database;
2.更加保險的方法如下:
a)在windows環境下,oracle是以後台服務的方式被管理的,所以看"控制面板->管理工具->服務
裡面的名稱:"OracleServiceORCL",則ORCL就是sid;
b)在linux操作系統中,可以使用ps
-ef
|grep
oracle
來查看後台進程的名稱,具體跟a)是類似的
希望能回答你的問題