真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何讀取oracle,如何讀取圖片上的文字

如何在java中讀取oracle blob

整個流程分為四步,連接oracle數(shù)據(jù)庫 - 讀取blob圖片字段 - 對圖片進行縮放 -把圖片展示在jsp頁面上。

為元寶等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及元寶網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站制作、成都網(wǎng)站建設、元寶網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

下面進行詳細描述:

1. java連接Oracle

注:數(shù)據(jù)庫是Oracle10g版本為10.2.0, 在數(shù)據(jù)庫中,圖片字段類型為BLOB。

java中通常使用的是通過jdbc驅動來連接數(shù)據(jù)庫,oracle也不例外,因此必須下載一個Oracle驅動的jdbc需要去網(wǎng)上進行下載,名稱為 ojdbc14.jar。

下載地址為:

下載了驅動之后,可以使用驅動里提供的接口進行連接,具體代碼如下:

import java.sql.*;

import java.io.*;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.awt.image.AffineTransformOp;

import java.awt.geom.AffineTransform;

public class OracleQueryBean {

private final String oracleDriverName = "oracle.jdbc.driver.OracleDriver";

private Connection myConnection = null;

/*圖片表名*/

private String strTabName;

/*圖片ID字段名*/

private String strIDName;

/*圖片字段名*/

private String strImgName;

/**

* 加載java連接Oracle的jdbc驅動

*/

public OracleQueryBean(){

try{

Class.forName(oracleDriverName);

}catch(ClassNotFoundException ex){

System.out.println("加載jdbc驅動失敗,原因:" + ex.getMessage());

}

}

/**

* 獲取Oracle連接對象

* @return Connection

*/

public Connection getConnection(){

try{

//用戶名+密碼; 以下使用的Test就是Oracle里的表空間

//從配置文件中讀取數(shù)據(jù)庫信息

GetPara oGetPara = new GetPara();

String strIP = oGetPara.getPara("serverip");

String strPort = oGetPara.getPara("port");

String strDBName = oGetPara.getPara("dbname");

String strUser = oGetPara.getPara("user");

String strPassword = oGetPara.getPara("password");

this.strTabName = oGetPara.getPara("tablename");

this.strIDName = oGetPara.getPara("imgidname");

this.strImgName = oGetPara.getPara("imgname");

String oracleUrlToConnect ="jdbc:oracle:thin:@"+strIP+":"+strPort+":"+strDBName;

this.myConnection = DriverManager.getConnection(oracleUrlToConnect, strUser, strPassword);

}catch(Exception ex){

System.out.println("Can not get connection:" + ex.getMessage());

System.out.println("請檢測配置文件中的數(shù)據(jù)庫信息是否正確." );

}

return this.myConnection;

}

}

2. 讀取blob字段

在OracleQueryBean類中增加一個函數(shù),來進行讀取,具體代碼如下:

/**

* 根據(jù)圖片在數(shù)據(jù)庫中的ID進行讀取

* @param strID圖片字段ID

* @param w 需要縮到的寬度

* @param h 需要縮到高度

* @return

*/

public byte[] GetImgByteById(String strID, int w, int h){

//System.out.println("Get img data which id is " + nID);

if(myConnection == null)

this.getConnection();

byte[] data = null;

try {

Statement stmt = myConnection.createStatement();

ResultSet myResultSet = stmt.executeQuery("select " + this.strIDName + " from " + this.strTabName + " where " + this.strIDName + "=" + strID);

StringBuffer myStringBuffer = new StringBuffer();

if (myResultSet.next()) {

java.sql.Blob blob = myResultSet.getBlob(this.strImgName);

InputStream inStream = blob.getBinaryStream();

try {

long nLen = blob.length();

int nSize = (int) nLen;

//System.out.println("img data size is :" + nSize);

data = new byte[nSize];

inStream.read(data);

inStream.close();

} catch (IOException e) {

System.out.println("獲取圖片數(shù)據(jù)失敗,原因:" + e.getMessage());

}

data = ChangeImgSize(data, w, h);

}

System.out.println(myStringBuffer.toString());

myConnection.commit();

myConnection.close();

} catch (SQLException ex) {

System.out.println(ex.getMessage());

}

return data;

}

3. 縮放圖片

因為圖片的大小可能不一致,但是在頁面中輸出的大小需要統(tǒng)一,所以需要

在OracleQueryBean類中增加一個函數(shù),來進行縮放,具體代碼如下:

/**

* 縮小或放大圖片

* @param data 圖片的byte數(shù)據(jù)

* @param w 需要縮到的寬度

* @param h 需要縮到高度

* @return 縮放后的圖片的byte數(shù)據(jù)

*/

private byte[] ChangeImgSize(byte[] data, int nw, int nh){

byte[] newdata = null;

try{

BufferedImage bis = ImageIO.read(new ByteArrayInputStream(data));

int w = bis.getWidth();

int h = bis.getHeight();

double sx = (double) nw / w;

double sy = (double) nh / h;

AffineTransform transform = new AffineTransform();

transform.setToScale(sx, sy);

AffineTransformOp ato = new AffineTransformOp(transform, null);

//原始顏色

BufferedImage bid = new BufferedImage(nw, nh, BufferedImage.TYPE_3BYTE_BGR);

ato.filter(bis, bid);

//轉換成byte字節(jié)

ByteArrayOutputStream baos = new ByteArrayOutputStream();

ImageIO.write(bid, "jpeg", baos);

newdata = baos.toByteArray();

}catch(IOException e){

e.printStackTrace();

}

return newdata;

}

4. 展示在頁面

頁面使用OracleQueryBean來根據(jù)用戶提供的圖片id進行查詢,在讀取并進行縮放后,通過jsp頁面進行展示,具體代碼如下:

%@ page language="java" contentType="text/html;;charset=gbk" %

jsp:useBean id="OrcleQuery" scope="page" class="HLFtiDemo.OracleQueryBean" /

%

response.setContentType("image/jpeg");

//圖片在數(shù)據(jù)庫中的 ID

String strID = request.getParameter("id");

//要縮略或放大圖片的寬度

String strWidth = request.getParameter("w");

//要縮略或放大圖片的高度

String strHeight = request.getParameter("h");

byte[] data = null;

if(strID != null){

int nWith = Integer.parseInt(strWidth);

int nHeight = Integer.parseInt(strHeight);

//獲取圖片的byte數(shù)據(jù)

data = OrcleQuery.GetImgByteById(strID, nWith, nHeight);

ServletOutputStream op = response.getOutputStream();

op.write(data, 0, data.length);

op.close();

op = null;

response.flushBuffer();

//清除輸出流,防止釋放時被捕獲異常

out.clear();

out = pageContext.pushBody();

}

%

5. OracleQueryBean查詢類的整體代碼

OracleQueryBean.java文件代碼如下所示:

import java.sql.*;

import java.io.*;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.awt.image.AffineTransformOp;

import java.awt.geom.AffineTransform;

public class OracleQueryBean {

private final String oracleDriverName = "oracle.jdbc.driver.OracleDriver";

private Connection myConnection = null;

/*圖片表名*/

private String strTabName;

/*圖片ID字段名*/

private String strIDName;

/*圖片字段名*/

private String strImgName;

/**

* 加載java連接Oracle的jdbc驅動

*/

public OracleQueryBean(){

try{

Class.forName(oracleDriverName);

}catch(ClassNotFoundException ex){

System.out.println("加載jdbc驅動失敗,原因:" + ex.getMessage());

}

}

/**

* 獲取Oracle連接對象

* @return Connection

*/

public Connection getConnection(){

try{

//用戶名+密碼; 以下使用的Test就是Oracle里的表空間

//從配置文件中讀取數(shù)據(jù)庫信息

GetPara oGetPara = new GetPara();

這文章確實寫的不錯,你可以看原文

如何讀取遠程oracle視圖數(shù)據(jù)

1. 獲得遠程數(shù)據(jù)庫的tns信息和要訪問的對象的擁有者及其密碼

2.創(chuàng)建dblink

create database link "DBLINK_NAME" connect to "USER_NAME" identified by "PASSWD" using ' (DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = lnwxzyp)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = demo)

)

)

';

3.查看

select * from view_name@dblink_name;

也可以建成同義詞

create synonym OBJ_NAME for view_name@dblink_name;

建成視圖

create view VIEW_NAME as select * from view_name@dblink_name;

如何讀取Oracle的BLOB字段里的文件

樓主你好!根據(jù)你的描述,讓我來給你回答!

create table temp_blob as select blob_colname from tbname ;

然后使用exp或者expdp 。

或者你也可以使用第三方編程語言或者軟件來導出。

希望能幫到你,如果滿意,請記得采納哦~~~

Oracle讀取數(shù)據(jù)

錯誤沒貼出來。 我只能猜測:

string sql = "select * from t_users where USER=@USER and PASS=@PASS";

string[,] UserInfo = { { "@Uname", loginInfo.UName }, { "@UID", loginInfo.UPassword } };

改成

string sql = "select * from t_users where USER=:USER and PASS=:PASS";

string[,] UserInfo = { { "Uname", loginInfo.UName }, { "UID", loginInfo.UPassword } };

試試

如何用python讀取oracle數(shù)據(jù)庫

下載cx_Oracle,下載之后就可以使用了。

簡單的使用流程如下:

1.引用模塊cx_Oracle2.連接數(shù)據(jù)庫3.獲取cursor4.使用cursor進行各種操作5.關閉cursor6.關閉連接

參考代碼:

import cx_Oracle ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#引用模塊cx_Oracleconn=cx_Oracle.connect('load/123456@localhost/ora11g') ? ?#連接數(shù)據(jù)庫c=conn.cursor() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #獲取cursorx=c.execute('select sysdate from dual') ? ? ? ? ? ? ? ? ? #使用cursor進行各種操作x.fetchone()c.close() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #關閉cursorconn.close() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#關閉連接

如何編程讀取oracle的dmp文件中的表數(shù)據(jù)

操作步驟:

1、開始-輸入cmd,進入命令提示符。

2、進到C盤根目錄

3、輸入命令

imp 用戶名/密碼@數(shù)據(jù)庫實例名 file=load.dmp log=load.log TABLES=(表名)

4、敲入回車,等待導入結束。

提示:步驟3的中文部分,請根據(jù)自己數(shù)據(jù)庫的情況進行更改。


分享題目:如何讀取oracle,如何讀取圖片上的文字
分享路徑:http://weahome.cn/article/dsspide.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部