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

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le 9 octobre, Yunshen Technology a lancé le robot à quatre pattes « Jueying X30 ». En tant que nouvelle génération de produits de niveau industriel pour les applications industrielles, il est destiné aux centrales électriques, aux usines, aux inspections de galeries de canalisations, aux secours d'urgence, aux enquêtes sur les incendies et à l'avenir. recherche scientifique, etc. Les demandes fondamentales multi-domaines apportent les capacités industrielles de pointe au monde : capacités de détection intégrées originales, prenant la tête en Asie pour réaliser un franchissement rapide et stable des obstacles dans des environnements changeants, monter et descendre des escaliers industriels creux et une autonomie par tous les temps. inspections de jour comme de nuit, brisant davantage de restrictions de scène. Il peut répondre rapidement à des tâches inattendues ; pour la première fois en Asie, la plage de température de fonctionnement d'un robot quadrupède a été étendue de -20°C à 55°C, élargissant considérablement l'application. zones et saisons ; il dispose de son propre système de surveillance en temps réel et d’un système d’intervention d’urgence pour garantir des opérations plus intelligentes et efficaces. Dix-sept départements, dont le ministère de l'Industrie et des Technologies de l'information, ont publié le « Machine

Avec l'évolution des temps, le domaine agricole a commencé à s'améliorer et à se transformer grâce aux moyens scientifiques et technologiques modernes, et une agriculture intelligente est apparue selon les besoins du moment. En tant que langage de programmation informatique doté d'excellentes performances et d'une forte portabilité, Java jouit d'une grande popularité et d'une grande valeur d'application, et est devenu l'une des solutions importantes pour le développement d'applications agricoles intelligentes. Cet article vise à présenter le processus de développement, les scénarios d'application et les avantages des applications agricoles intelligentes en langage Java. 1. Processus de développement d'applications agricoles intelligentes en langage Java Le processus de développement d'applications agricoles intelligentes est divisé en analyse des besoins,

En tant que l'un des langages de programmation les plus populaires actuellement, le langage Java est largement utilisé dans divers domaines de développement d'applications. Parmi elles, les applications de reconnaissance vocale sont un domaine qui a beaucoup retenu l'attention ces dernières années, notamment dans les domaines de la maison intelligente, du service client intelligent, des assistants vocaux, etc., les applications de reconnaissance vocale sont devenues indispensables. Cet article présentera aux lecteurs comment utiliser le langage Java pour développer des applications de reconnaissance vocale. 1. Classification de la technologie de reconnaissance vocale Java La technologie de reconnaissance vocale Java peut être divisée en deux types : l'un est encapsulé dans le langage Java et le troisième est encapsulé dans le langage Java.

Les villes intelligentes se développent constamment et sont devenues une nouvelle direction et un nouvel objectif pour la construction urbaine. Les villes intelligentes utilisent l'intelligence artificielle, la technologie de l'Internet des objets et d'autres moyens pour parvenir à l'informatisation, à l'intelligence et au développement durable de la ville. Le langage Java est l’un des principaux outils de développement d’applications pour les villes intelligentes. 1. Le rôle du langage Java dans le développement d'applications pour villes intelligentes. En tant que langage de programmation grand public, le langage Java présente une excellente multiplateforme et portabilité et peut être appliqué à divers systèmes d'exploitation et plates-formes matérielles. Le langage Java prend en charge la programmation orientée objet

Introduction au développement d'applications de traitement vidéo en langage Java Avec le développement continu d'Internet et de la technologie numérique, la vidéo est devenue un élément indispensable de la vie des gens. Qu’il s’agisse d’applications vidéo courtes ou de plateformes éducatives en ligne, les vidéos occupent une place importante. Parmi eux, les applications de traitement vidéo sont devenues l’un des sujets brûlants. Cet article présentera le développement d'applications de traitement vidéo en langage Java. 1. Bibliothèque de classes de traitement vidéo en langage Java En tant que langage de programmation multiplateforme, la puissance du langage Java réside dans sa riche bibliothèque de classes, notamment.

Pandas est un outil d'analyse de données pour Python, particulièrement adapté au nettoyage, au traitement et à l'analyse des données. Au cours du processus d'analyse des données, nous devons souvent lire des fichiers de données dans différents formats, tels que des fichiers Txt. Cependant, certains problèmes seront rencontrés lors de l'opération spécifique. Cet article présentera les réponses aux questions courantes sur la lecture de fichiers txt avec des pandas et fournira des exemples de code correspondants. Question 1 : Comment lire le fichier txt ? Les fichiers txt peuvent être lus à l'aide de la fonction read_csv() de pandas. Ceci est dû au fait

Ces dernières années, le moteur de modèles dans la programmation PHP est devenu un élément important du développement PHP, permettant aux programmeurs de développer et de gérer plus facilement des pages. Cet article présentera les moteurs de modèles courants dans la programmation PHP. SmartySmarty est un moteur de modèles PHP couramment utilisé. Il prend en charge une série de fonctions telles que des modèles en cache, des modules de plug-in et des fonctions personnalisées. La syntaxe de Smarty est très flexible et peut résoudre le problème de la combinaison de variables PHP avec des balises HTML, rendant le langage PHP plus adapté à la conception basée sur des modèles. De plus, S

À l'ère actuelle du cloud computing et des applications Web, de plus en plus d'entreprises ont besoin d'applications légères. Il est donc très approprié d'utiliser Google Cloud Functions et PHP pour réaliser un développement et un déploiement d'applications légers. Google Cloud Functions est une méthode basée sur le déclenchement d'événements et l'informatique sans serveur. Les utilisateurs n'ont besoin que d'écrire du code pour gérer ces événements sans avoir besoin de gérer des services ou de maintenir des serveurs. De plus, PHP est un langage de programmation populaire et largement utilisé
