❶ java oracle如何統一編碼,中文亂碼
首先查看資料庫編碼:
select*fromnls_database_parameterswhereparameter='NLS_CHARACTERSET';
這個編碼是否和你java的編碼一致,如果不一致,建議先嘗試修改java的編碼,如果java編碼不能空宏拆改變斗棗,而且你有修改oracle碼制的許可權,並且可以修改(慎用!)
例如目前資料庫環境的字元集是AL32UTF8,那麼把它改成ZHS16GBK
1.首先以sysdba的身份登錄上去 conn /as sysdba
2.關閉資料庫shutdown immediate;
3.以mount打來資料庫,startup mount
4.設置session
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
5.啟動資料庫
alter database open;
6.修改字元集
ALTER DATABASE CHARACTER SET ZHS16GBK;
這會可能會報錯,提示我們的字元集:新字元集必須為舊字元集的超集,這時我們可以跳過超集的檢查做更改:
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
這條語句就可以了,TERNAL_USE提供的幫助就會使oracle繞過了子集與超集的驗證,這條語句和上面的語句內部操作時完全相同的。
7.關閉,重新啟動
SQL>shutdown immediate;
SQL> startup
當絕敗然字元集最好不要輕易修改,因為這會對資料庫的數據有直接的影響,如果是生產環境的話,可能會造成不可估計得損失。
❷ 怎麼把字元串類型的數據用java語言轉換成oracle資料庫能識別的日期類型
oracle中有把字元產轉換為日期的函數啊,TO_DATE('2009-10-01','YYYY-MM-DD'),你在Java中
sql語句
里直坦如接用就可以了啊讓衫啟。如果你是想在Java中把字元塌鏈串轉換成日期型用如下的方法:String
str="2009-10-01";
SimpleDateFormat
st=new
SimpleDateFormat("yyyy-MM-DD");
try
{
Date
date
=
st.parse(str);
System.out.println(date);
}
catch
(ParseException
e)
{
e.printStackTrace();
}
❸ JAVA連接oracle的接字元串是怎麼樣的
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為資料庫的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
❹ (java)Java連接Oracle的字元串和Oracle的驅動名是什麼
SUN定義的四種JDBC驅動程序標准:
Ø Type1 JDBC-ODBC橋
適用於快速的原型系統,沒有提供JDBC驅動的資料庫如Access
Ø Type2 JAVA to Native API
利用開發商提供的本地庫來直接與資料庫通信。
比Type1性能略好。
Ø Type3 Java to net
具有最大的靈活性,通常由那些非資料庫廠商提供,是四種類型中最小的。
Ø Type4 JAVA to native dababase
最高的性能,通過自己的本地協議直接與資料庫引擎通信,具備在Internet裝配的能力
-----------------------------------------------------------------------------------------
Oracle 公司大力的發展Java,又許多東西都改為 Java Base的。在JDBC驅動方面,斯中驅動類型全部都提供了,可以說是最齊全的資料庫廠商
Oracle的JDBC驅動為classes12.jar,如果Oracle安裝目錄為E:\Oracle而classes12.jar文件位於E:\oracle\proct\10.2.0\db_1\jdbc\lib的路徑下。
Oracle目前有兩個驅動程序可以供客戶端使用,兩個驅動程序分別提供了Type2,Type3,Typ4的JDBC驅動程序。令各驅動程序分別為ThinDriver和OCI Driver。
l Thin Driver—Type3 or Type4 JDBC驅動程序,100%Java的程序代碼。
OCIDriver—Type2 JDBC 驅動程序,客戶端必須安裝有Oracle Client
-----------------------------------------------------------------------------
不論那一種Oracle JDBC驅動程序。都是使用oracle.jdbc.driver.OracleDriver類
--------------------------------------------------------------------------------
使用 import指令導入importjava.sql.*類中的類型。
定義資料庫連接使用的一些常量。如下:
publicclassConnectionManager {
_CLASS = "oracle.jdbc.driver.OracleDriver";
_URL = "jdbc:oracle:thin@localhost:1521:accp";
_USRE = "student";
_PASSWORD = "cs";
}
連接url種類與寫法:
Type2:jdbc:oracle:oci:@TNSNAMES
Type3:jdbc:oracle:thin:@url
Type4:jdbc:oracle:thin:@hostname:port:service
❺ java 或者 oracle 實現 字元串的排列組合。
這個組合數禪彎雖然很多,但是方法很簡單,這16個字元組成的字元串無非就是一個16進制的數而已,只需要遍歷小於16的12次方的所有的數字並虧襲困且把它轉化為16進制的字元串就可以了,16的12次方就是2的48次方,long型完銷念全可以hold住,如果你想要代碼的話,你等我一會兒我寫給你
❻ 如何用Java和oracle實現BLOB欄位的字元串讀取
Java能夠調用Oracle的存儲過程,反之Oracle也能用Java來開發外部槐敬存儲過程,這樣Java和oracle的相互界限就已經不明確了。Oracle實現BLOB欄位的字元串讀取也就非常容易了。
當然關系型資料庫最好做自己應該做的事畢粗情而不是大包大鉛數慎攬做所有的非資料庫應該做的事情。
--開發Java類
以上代碼均在PL/SQL developer中開發並調試通過,Java和Oracle實現BLOB欄位的字元串讀取很有意思。
❼ java讀取oracle資料庫裡面的數據生成xml文件,生成的xml文件出現亂碼怎麼解決
跟蹤問題所在:
1、查詢一下資料庫,判斷在資料庫中的時候,是否是已經存在了亂碼。
2、在讀取到Java的時候,你用SystemOut輸出一下,判斷這個時候,是否是亂碼。
3、寫入到xml文件的時候,XML中是否是亂碼。
如果是1種情況出現亂碼,則是寫入資料庫的時候出現亂碼,需要更改寫入程序的代碼。
如果是2種情況出現亂碼,則是讀取Oracle的字元集出現錯誤,設置讀取的字元集。
如果是3種情況出現亂碼,則是在Java類中寫入的時候,設置字元集,查看資料庫字元集,設置為UTF-8、或者是GBK字元集。
希望對你有幫助。
❽ Java連接Oracle資料庫的連接字元串怎麼寫
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:@localhost:1521:orcl";
String user = "sa";
String password = "123456";
Connection conn = DriverManager.getConnection(url,user,password);