search
HomeDatabaseMysql TutorialJava+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自己支持的,就是说结果集要在内存中高度缓存,很多很多的开发者都错误地认为是数据库支持的。只是他们没有真正查询大量行,,假如真的查询大量行的话肯定是死定了!!!!!!对于超大量行的数据,情愿返回到它的笨方法也不要使用可滚动结果集。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Java语言中的语音识别应用开发介绍Java语言中的语音识别应用开发介绍Jun 10, 2023 am 10:16 AM

Java语言作为目前最为流行的编程语言之一,其在各种应用开发领域中都有着广泛的应用。其中,语音识别应用是近年来备受瞩目的一个领域,尤其是在智能家居、智能客服、语音助手等领域中,语音识别应用已经变得不可或缺。本文将为读者介绍如何使用Java语言进行语音识别应用的开发。一、Java语音识别技术分类Java语音识别技术可以分为两种:一种是使用Java语言封装的第三

Java语言中的智慧农业应用开发介绍Java语言中的智慧农业应用开发介绍Jun 10, 2023 am 11:21 AM

随着时代的发展,农业领域也开始借助现代科技手段升级转型,智慧农业也因此应运而生。Java作为一种性能优异、可移植性强的计算机编程语言,具备着较高的普及度和应用价值,成为智慧农业应用开发的重要解决方案之一。本文旨在介绍Java语言中智慧农业应用的开发流程、应用场景和优势点等方面的内容。一、Java语言中智慧农业应用的开发流程智慧农业应用的开发流程分为需求分析、

Java语言中的智慧城市应用开发介绍Java语言中的智慧城市应用开发介绍Jun 10, 2023 am 11:16 AM

智慧城市在不断发展,成为了城市建设的一个新的方向和目标。智慧城市通过人工智能、物联网技术等手段,实现城市的信息化、智能化和可持续化发展。而Java语言正是智慧城市应用开发的主要工具之一。一、Java语言在智慧城市应用开发中的作用Java语言作为一种主流编程语言,具有优秀的跨平台性和可移植性,能够适用于各种不同的操作系统和硬件平台。Java语言支持面向对象编程

Java语言中的视频处理应用开发介绍Java语言中的视频处理应用开发介绍Jun 10, 2023 pm 04:31 PM

Java语言中的视频处理应用开发介绍随着互联网和数字化技术的不断发展,视频已经成为人们生活中不可或缺的一部分。无论是短视频应用还是在线教育平台,视频都占据了重要的位置。其中,视频处理应用成为了热门关注的话题之一。本文将介绍Java语言中的视频处理应用开发。一、Java语言中的视频处理类库Java语言作为一门跨平台的程序语言,它的强大之处在于丰富的类库,其中也

使用PHP和Google Cloud Functions实现轻量级应用开发和部署使用PHP和Google Cloud Functions实现轻量级应用开发和部署Jun 25, 2023 am 08:33 AM

在当前云计算和Web应用的时代,越来越多的业务需要轻量级的应用来完成,因此使用GoogleCloudFunctions和PHP来实现轻量级应用开发和部署是非常适合的。GoogleCloudFunctions是一种基于事件触发和无服务器计算的方法,用户只需要编写代码来处理这些事件,而不需要管理服务或维护服务器。此外,PHP是一种流行的编程语言,被广泛用

Java语言中的物品识别应用开发介绍Java语言中的物品识别应用开发介绍Jun 09, 2023 pm 10:19 PM

Java语言中的物品识别应用开发介绍物品识别是一种使计算机能够识别和分类物品的技术,这种技术已经广泛应用于许多领域,如医学、安全、制造业、军事和机器人。这篇文章将介绍在Java语言中开发物品识别应用的相关技术和步骤。Java是一种广泛使用的编程语言,因其跨平台、安全性和可移植性而备受欢迎。在Java中开发物品识别应用需要使用以下技术:1.计算机视觉技术计算机

Java语言中的电视应用开发介绍Java语言中的电视应用开发介绍Jun 10, 2023 pm 07:49 PM

随着电视应用在生活中的普及,电视应用开发正变得越来越重要。在这个领域中,Java是一种经典的编程语言,被广泛应用于各种电视应用的开发。接下来,将会介绍Java语言在电视应用开发中的应用和相关知识。一、什么是电视应用开发?电视应用开发主要是指开发应用程序,以供电视机用户使用。这可以包括从基础的信息检索应用,到更复杂的互动游戏或购物应用。随着智能电视以及其他连接

Java语言中的智能音箱应用开发介绍Java语言中的智能音箱应用开发介绍Jun 10, 2023 pm 06:56 PM

随着人工智能的发展,智能音箱的应用越来越广泛。Java语言作为目前最流行的编程语言之一,也被广泛地应用于智能音箱的开发中。本文将简要介绍Java语言中的智能音箱应用开发。环境搭建Java语言开发智能音箱应用需要先搭建开发环境。开发环境的搭建主要包括:Java开发工具、开发板、音箱外壳、麦克风、扬声器等硬件设备的连接。针对智能音箱的特点,Java语言的开发常用

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment