Java+Oracle应用开发的几个常见问题解答
问题一:如保加载JDBC驱动程序: 正常我们加载驱动程序有三个途径: 1)Class.forName(String)这想当于classLoader一个String指定的类,在装载时把该驱动程序的静态内容都初始化,其实这时驱动程序类调用了DriverManager.registerDriver(driver)方法 2)使用系
问题一:如保加载JDBC驱动程序:
正常我们加载驱动程序有三个途径:
1)Class.forName(String)这想当于classLoader一个String指定的类,在装载时把该驱动程序的静态内容都初始化,其实这时驱动程序类调用了DriverManager.registerDriver(driver)方法
2)使用系统属性:System.getProperty().load(new FileInputStream("属性文件"));
在属性文件中指定jdbc.driver=drivername 这样的好处是可以同时加载多个JDBC,换数据库时不用访问Java源代码,只是修改属性文件
3)直接registerDriver(driver)这种方法最可靠,可以在任何环境下使用。
1)方法简单,但MS的JVM不能正确初始化。比如使用IE时在APPLET中就不能使用,应该用3)的方法。但3)方法在灵活性方面不如2),可以根据环境综合考虑。
问题二:大对象存储
一般来说,大对象存储是把文件存到数据库中,当然也可以内存中的超大字符串。对于象图片这样的文件当然是用二进制存储,这里有很多误区,网络上的教程99%都是行不通的,连SUN自己的文档都一直错误,虽然错误很小。按说二进制文件应该存为BLOB类型,但JBDC2并不能直接对BLOB存入二进制文件,假如你这样做,会得到一个IO而不是SQL异常,为此花了我近两个小时才弄清楚。 假如要把一个二制文件存入Oracle,用标准的JDBC你就要用LONG ROW类型: create table tb_file(name varchar(20),detail long row); 然后 File file = new File("aaa.gif");
int fileLength =(int) file.length();
InputStream fin = new FileInputStream(file);
PreparedStatement pstmt = con.prepareStatement("insert into tb_file values('aaa.gif',?)");
pstmt.setBinaryStream (1, fin, fileLength);
pstmt.executeUpdate(); 假如你一定要用BLOB存储,你就必须用ORACLE自己的方法: create table tb_file(name varchar(20),detail BLOB);
con.setAutoCommit(false);
stmt.executeUpdate("insert into tb_file values('aaa.gif',empty_blob())"); 下面必须SELECT得到BLOB的对象再向里写: rs = stmt.executeQuery("select detail from tb_file where for upfdate" );
if(rs.next())
{
Blob blob = rs.getBlob(1);
BinaryOutputStream out = ((oracle.sql.BLOB)blob).getBinaryOutputStream();
byte[] b = new byte[((oracle.sql.BLOB)blob).getBufferSize];
InputStream fin = new FileInputStream(file);
int len = 0;
while( (len = fin.read(b)) != -1)
out.write(b,0,len);
fin.close();
out.close();
con.commit();
}
同样读取数据你并不能象LONG ROW那样 InputStream in = rs.getBinaryInputStream("detail");
而要 Blob blob = rs.getBlob("detail");
in = blob.getBinaryStream();
问题三:可滚动结果集
ORACLE 明确说明不支持结果集滚动,那么我们用JDBC得到一个可滚动的结果集就是同JDBC自己支持的,就是说结果集要在内存中高度缓存,很多很多的开发者都错误地认为是数据库支持的。只是他们没有真正查询大量行,,假如真的查询大量行的话肯定是死定了!!!!!!对于超大量行的数据,情愿返回到它的笨方法也不要使用可滚动结果集。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











10월 9일, Yunshen Technology는 발전소, 공장, 파이프 갤러리 검사, 긴급 구조, 화재 조사, 미래를 대상으로 하는 산업 응용 분야의 차세대 산업 수준 제품인 "Jueying X30" 4족 로봇을 출시했습니다. 다분야 핵심 수요는 세계 최고의 산업 역량을 제공합니다. 독창적인 통합 감지 기능, 변화하는 환경에서 빠르고 안정적인 장애물 통과, 속이 빈 산업 계단 오르내리기, 전천후 자율주행을 달성하기 위해 아시아를 선도하는 독창적인 통합 감지 기능 또한, 아시아 최초로 예상치 못한 작업에도 신속하게 대응할 수 있으며, 4족 로봇의 작동 온도 범위가 -20°C ~ 55°C로 확장되어 작업 범위가 크게 확대되었습니다. 적용 분야 및 계절에 따라 자체 실시간 모니터링 시스템과 비상 대응 시스템을 갖추고 있어 보다 안전하고 효율적으로 스마트하게 운영할 수 있습니다. 산업 정보 기술부를 포함한 17개 부서에서 "기계"를 발행했습니다.

시대가 발전함에 따라 농업분야도 현대과학기술수단의 도움으로 업그레이드되고 변화되기 시작했으며 시대의 요구에 따라 스마트 농업이 등장했습니다. 뛰어난 성능과 강력한 이식성을 갖춘 컴퓨터 프로그래밍 언어로서 Java는 인기와 응용 가치가 높으며 스마트 농업 응용 프로그램 개발을 위한 중요한 솔루션 중 하나가 되었습니다. 이 기사에서는 Java 언어로 스마트 농업 애플리케이션의 개발 프로세스, 애플리케이션 시나리오 및 장점을 소개하는 것을 목표로 합니다. 1. 자바 언어로 스마트 농업 애플리케이션 개발 프로세스 스마트 농업 애플리케이션 개발 프로세스는 요구사항 분석,

현재 가장 널리 사용되는 프로그래밍 언어 중 하나인 Java 언어는 다양한 애플리케이션 개발 분야에서 널리 사용되고 있습니다. 그 중에서 음성 인식 애플리케이션은 최근 몇 년 동안 많은 주목을 받고 있는 분야이며, 특히 스마트 홈, 스마트 고객 서비스, 음성 도우미 및 기타 분야에서 음성 인식 애플리케이션은 필수 불가결한 요소가 되었습니다. 이 기사에서는 독자들에게 Java 언어를 사용하여 음성 인식 애플리케이션을 개발하는 방법을 소개합니다. 1. 자바 음성인식 기술의 분류 자바 음성인식 기술은 자바 언어를 사용하여 캡슐화하는 방식과 자바 언어를 사용하여 캡슐화하는 방식으로 구분할 수 있다.

스마트시티는 끊임없이 발전하고 있으며 도시 건설의 새로운 방향이자 목표가 되었습니다. 스마트 시티는 인공 지능, 사물 인터넷 기술 및 기타 수단을 사용하여 도시의 정보화, 지능 및 지속 가능한 발전을 달성합니다. Java 언어는 스마트 시티 애플리케이션 개발을 위한 주요 도구 중 하나입니다. 1. 스마트 시티 애플리케이션 개발에서 Java 언어의 역할 Java 언어는 주류 프로그래밍 언어로서 크로스 플랫폼과 이식성이 뛰어나며 다양한 운영 체제 및 하드웨어 플랫폼에 적용할 수 있습니다. Java 언어는 객체지향 프로그래밍을 지원합니다.

Java 언어로 비디오 처리 애플리케이션 개발 소개 인터넷과 디지털 기술의 지속적인 발전으로 비디오는 사람들의 삶에 없어서는 안 될 부분이 되었습니다. 짧은 동영상 애플리케이션이든 온라인 교육 플랫폼이든 동영상은 중요한 위치를 차지합니다. 그 중 영상처리 애플리케이션이 화제 중 하나가 됐다. 이 기사에서는 Java 언어로 된 비디오 처리 애플리케이션 개발을 소개합니다. 1. Java 언어의 비디오 처리 클래스 라이브러리 크로스 플랫폼 프로그래밍 언어로서 Java 언어의 강력한 기능은 다음을 포함하는 풍부한 클래스 라이브러리에 있습니다.

Pandas는 Python용 데이터 분석 도구로, 특히 데이터 정리, 처리 및 분석에 적합합니다. 데이터 분석 과정에서 Txt 파일과 같은 다양한 형식의 데이터 파일을 읽어야 하는 경우가 많습니다. 그러나 특정 작업 중에 몇 가지 문제가 발생합니다. 이 기사에서는 Pandas로 txt 파일을 읽는 것과 관련된 일반적인 질문에 대한 답변을 소개하고 해당 코드 예제를 제공합니다. 질문 1: txt 파일을 읽는 방법은 무엇입니까? pandas의 read_csv() 함수를 사용하면 txt 파일을 읽을 수 있습니다. 이 때문입니다

최근 몇 년 동안 PHP 프로그래밍의 템플릿 엔진은 PHP 개발의 중요한 부분이 되어 프로그래머가 페이지를 보다 쉽게 개발하고 관리할 수 있게 되었습니다. 이 기사에서는 PHP 프로그래밍의 일반적인 템플릿 엔진을 소개합니다. SmartySmarty는 일반적으로 사용되는 PHP 템플릿 엔진으로 캐시된 템플릿, 플러그인 모듈 및 사용자 정의 기능과 같은 일련의 기능을 지원합니다. Smarty의 구문은 매우 유연하며 PHP 변수를 HTML 태그와 결합하는 문제를 해결하여 PHP 언어를 템플릿 디자인에 더 적합하게 만듭니다. 게다가 S

Java 언어의 객체 인식 응용 프로그램 개발 소개 항목 인식은 컴퓨터가 객체를 식별하고 분류할 수 있도록 하는 기술입니다. 이 기술은 의학, 보안, 제조, 군사, 로봇 공학 등 다양한 분야에서 널리 사용되었습니다. 이 기사에서는 Java 언어로 객체 인식 애플리케이션을 개발하기 위한 관련 기술과 단계를 소개합니다. Java는 크로스 플랫폼, 보안 및 이식성으로 널리 사용되는 프로그래밍 언어입니다. Java로 객체 인식 애플리케이션을 개발하려면 다음 기술을 사용해야 합니다. 1. 컴퓨터 비전 기술 컴퓨터
