Java連接Oracle

来源:https://www.cnblogs.com/1187163927ch/archive/2018/03/29/8669859.html
-Advertisement-
Play Games

1,首先需要在Oracle安裝完成之後新建一個用戶 2用戶新建完成之後,可能會出現某個用戶對標users沒有許可權的提示 3.新建一個測試表以及向其中插入幾條數據 4.需要在eclipse中新建一個java項目 打開eclipse(myeclipse)-> File(文件)-> New(新建) ->P ...


1,首先需要在Oracle安裝完成之後新建一個用戶

 1 --新建用戶
 2 create user chenh identified by chenh;
 3 --解鎖用戶
 4 alter user chenh account unlock;
 5 alter user scott account unlock;
 6 --修改密碼
 7 alter user chenh identified by chenh;
 8 --授予許可權
 9 grant sysdba to chenh;
10 --授予chenh用戶創建session的許可權,即登陸許可權
11 grant create session to chenh;
12 --授予chenh用戶使用表空間的許可權    
13 grant unlimited session to chenh;
14 --授予創建表的許可權
15 grant create table to chenh;
16 --授予刪除表的許可權
17 grant drop table to chenh;
18 --插入表的許可權
19 grant insert table to chenh;
20 --修改表的許可權
21 grant update table to chenh;
22 --查看當前資料庫實例名
23 select name from v$database;
24 --提交事務
25 commit;

 

2用戶新建完成之後,可能會出現某個用戶對標users沒有許可權的提示

1   -- 解決用戶 XX 對 users表空間沒有許可權的問題
2  alter user chenh quota unlimited on users; 

 

 

3.新建一個測試表以及向其中插入幾條數據

 1 --刪除表
 2 drop table a;
 3 --新建表
 4 create table a(
 5 col1 varchar2(10),
 6 col2 varchar2(10),
 7 col3 varchar2(10),
 8 col4 varchar2(10)
 9 );
10 --查詢
11 select * from a;
12 --插入語句 多執行幾次,因為沒有主鍵限制,故此處可以執行多次
13 insert into a (col1,col2,col3,col4) values ('a1','b','c','d');
14 
15 commit;

4.需要在eclipse中新建一個java項目

打開eclipse(myeclipse)-> File(文件)-> New(新建) ->Project(工程) -> Java Project (Java 工程)

  Project Name: 項目名稱 接著一路Next(下一步)或者直接Finish(完成)

5.需提前下載ojdbc6.jar 連接資料庫驅動的JAR包

  這裡提供下載地址:https://files.cnblogs.com/files/1187163927ch/blog.rar

      解壓密碼:1187163927

6.在eclipse(myeclipse)新建的項目中將ojdbc6.jar導入,記得build path.

  打開該項目樹狀圖,將下載好的ojdbc6.jar直接拖到該項目中,然後滑鼠左鍵選中該文件,右鍵Build Path即可。

7.新建一個java類,在其中連接資料庫

  7.1連接資料庫驅動

 1 import java.sql.Connection;
 2 import java.sql.DriverManager;
 3 import java.sql.SQLException;
 4 
 5 public class DBConnection {
 6     public static Connection dbConn(String name, String pass) {
 7        Connection c = null;
 8        try {
 9            Class.forName("oracle.jdbc.driver.OracleDriver");
10            // 要是導入驅動沒有成功的話都是會出現classnotfoundException.自己看看是不是哪裡錯了,例如classpath這些設置
11        } catch (ClassNotFoundException e) {
12            e.printStackTrace();
13        }
14        try {
15            c = DriverManager.getConnection(
16                   "jdbc:oracle:thin:@localhost:1521:chenh", name, pass);
17            // 連接數據的方法有四種, 這個屬於最簡單的,一般用網頁程式 chenh是你的資料庫實例名稱,在下載的文件test.sql中可以執行語句查看
18            // "jdbc:oracle:thin:@電腦名稱:監聽埠:系統實例名", username, password,
19            // 電腦名稱,要是自己不知道可以在電腦屬性查知.
20            // 監聽埠一般預設是1521, 要是改變了就看自己的監聽文件listener.ora
21            // 系統實例名一般是預設orcl, 要是不是的話就用 select name from v$database; 看看當前的實例名.在本程式中我更改了實例為chenh
22            // username,password,就是登陸資料庫的用戶名和密碼.
23  
24 
25        } catch (SQLException e) {
26            e.printStackTrace();
27        }
28        return c;
29     }
30 }

   7.2 查詢資料庫

 1 import java.sql.Connection;
 2 import java.sql.ResultSet;
 3 import java.sql.SQLException;
 4 import java.sql.Statement;
 5 
 6 public class DB extends DBConnection {
 7     private static Connection con = null;
 8     private static Statement sql = null;
 9     private static ResultSet rs = null;
10  
11 
12     public static void main(String[] args) throws SQLException {
13        String COL1;
14        String COL2;
15        String COL3;
16        String COL4;
17        try {
18            con = dbConn("chenh", "chenh");
19            if (con == null) {
20               System.out.print("連接失敗");
21               System.exit(0);
22            }
23            sql = con.createStatement();
24            rs = sql.executeQuery("select * from a");
25            System.out.println("COL1" + "            " + "COL2" + "             "+ "COL3"+ "             "+ "COL4");
26            while (rs.next()) {
27               COL1 = rs.getString(1);
28               COL2 = rs.getString(2);
29               COL3 = rs.getString(3);
30               COL4 = rs.getString(4);
31               System.out.println(COL1 + "         " + COL2 + "         " + COL3+ "         " + COL4);
32            }
33        } catch (Exception e) {
34            e.printStackTrace();
35  
36 
37        } finally {
38            con.close();
39        }
40     }
41 }

檢查不報錯之後,執行按鈕,選中項目  右鍵 -> Run As -> Java Application  可看到如下結果:

 

 

 

 

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Create Or Replace Function Zl_Fun_去特殊字元(內容_In In Varchar2) Return Varchar2 IsBegin Return Replace(Replace(Trim(內容_In), Chr(13), ''), Chr(10), '');End ...
  • 開啟慢查詢日誌之後,慢查詢sql會被存到資料庫系統表mysql.slow_log或是文件中,可參考。有兩個工具可以幫助我們分析輸出報告,分別是mysqldumpslow和pt-query-digest. mysqldumpslow mysqldumpslow是mysql自身提供的日誌分析工具,一般在 ...
  • 資料庫: 資料庫是一組文件,位於磁碟,用來存儲數據。 資料庫實例: 資料庫實例是管理資料庫文件的一組記憶體結構,該實例包含一個叫做系統全局區的共用記憶體區和一組後臺進程。 資料庫和資料庫實例都是獨立於對方而存在。 ...
  • 在平時 我們在操作hadoop命令的時候 會誤刪除某些文件 利用 hadoop fs -rmr(目錄名)刪除目錄時易出現誤刪除的操作 為了防止這種情況我們需要打開回收站 具體操作為: 找到配置文件core-site.xml,在其中添加如下信息: <property> <name>fs.trash.i ...
  • 同事收到告警磁碟空間不足,說刪除歸檔無法直接在rman中進行操作,讓幫看下,具體處理方法如下: 一、錯誤信息 在rman執行命令 crosscheck archivelog all; delete noprompt archivelog all completed before 'sysdate-3 ...
  • 參考 針對mysql的優化,mysql提供了慢查詢日誌的支持。mysql的慢查詢是mysql提供的一種日誌記錄,它用來記錄mysql中響應時間超過閥值的sql語句,某個sql運行時間如果超過設置的閥值(long_query_time),就會被記錄到慢查詢日誌中。閥值預設值是10s,預設情況下,mys ...
  • 1,獲取yum安裝源 到mysql官網下載 https://dev.mysql.com/downloads/repo/yum/ wget獲取 wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 安裝yum ...
  • 博客鏈接:http://www.cnblogs.com/zhenghongxin/p/8669913.html redis 本地持久化到硬碟有兩種方式,一是快照(snapshotting),二是只追加文件(append-only file AOF) 快照 快照,顧名思義可以理解為拍照一樣,把整個記憶體 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...