首页 > 解决方案 > 从java中插入数据到oracle有问题

问题描述

我在 VM 的服务器和客户端中都有 centos6.4。我正在尝试将一些值(jTextFieldBookID.getText()、jTextFieldBookName.getText()、jTextFieldCategory.getText()、jTextAreaDescription.getText() 和 sqdate.)存储在来自 java(java SE 8)的 oracle 11gr2 中。但有数百个错误。我没有得到解决方案。

代码是:

tablebookmaster:-
SQL> desc tablebookmaster;
 Name                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 BOOKID                    NOT NULL NUMBER(38)
 BOOKNAME                           VARCHAR2(45)
 CATEGORY                           VARCHAR2(30)
 DESCRIPTION                        VARCHAR2(60)
 REGISTRYDATE                       DATE

类连接数据库文件:

package PackageInventory;

import java.sql.*;
import javax.swing.JOptionPane;


public class ClassConnectDB 
{


    public static Connection connectdb()
    {
        try
        {
            Connection conn = null;

            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn =  DriverManager.getConnection("jdbc:oracle:thin:@serverora11gr2:1521:orcl","scott","tiger");


            return conn;
        }
        catch(Exception e)
        {
            JOptionPane.showMessageDialog(null, " exception in ClassConnectDB.connectdb() is :  " + e);
            return null;

        }
    }

}

文件 jFrameBookMaster:

 import java.sql.*;

//import java.sql.Date;

import javax.swing.JOptionPane;

import javax.swing.*;

import java.text.*;

import java.util.*;

import java.text.SimpleDateFormat;

import java.text.DateFormat;

import java.text.SimpleDateFormat;





 private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt)

 {                                            

  //Date date =  jDateChooserRegistryDate.getDate();

     try

     {



        //conn = ClassConnectDB.connectdb();



        conn = ClassConnectDB.connectdb();



        String JTextfieldBookIdStr = jTextFieldBookID.getText();

        String JTextFieldBooknameStr = jTextFieldBookName.getText();

        String JTexTFieldCategoryStr = jTextFieldCategory.getText();

        String JtextAeraDesciptionStr = jTextAreaDescription.getText();







        java.util.Date udate = new java.util.Date();

        udate = jXDatePickerRegistryDate.getDate();



        udate = jXDatePickerRegistryDate.getDate();



        java.sql.Date sqdate = new java.sql.Date(udate.getTime());

        //sqdate = new java.sql.Date(udate.getTime());







        String sql = "insert into tablebookmaster values(?, ?, ?, ?, ?);";

        pst = conn.prepareStatement(sql);



        pst.setInt(1, Integer.parseInt(JTextfieldBookIdStr) );

        //JOptionPane.showMessageDialog(null,"

        pst.setString(2,JTextFieldBooknameStr);

        pst.setString(3,JTexTFieldCategoryStr);

        pst.setString(4,JtextAeraDesciptionStr);

        pst.setDate(5, sqdate);

        pst = conn.prepareStatement(sql);

        int inserted  = pst.executeUpdate();



        if(inserted == 1)

        {

            JOptionPane.showMessageDialog(null,"row inserted successfully");       

        }



        else

        {

            JOptionPane.showMessageDialog(null,"Sorry!. Your record has not saved");

        }



        conn.close();

   }

    catch(Exception e)

    {

           JOptionPane.showMessageDialog(null, "exception in jButtonSaveActionPerformed : " + e);



    }

}

错误信息:

Dec 13, 2018 12:26:01 PM oracle.jdbc.driver.OracleDriver registerMBeans    

WARNING: Error while registering Oracle JDBC Diagnosability MBean.

java.lang.ExceptionInInitializerError
    at oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:313)

    at oracle.jdbc.driver.OracleDriver$1.run(OracleDriver.java:201)

    at java.security.AccessController.doPrivileged(Native Method)

    at oracle.jdbc.driver.OracleDriver.<clinit>(OracleDriver.java:197)

    at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Class.java:259)

    at PackageInventory.ClassConnectDB.connectdb(ClassConnectDB.java:17)

    at PackageInventory.JFrameBookMaster.jButtonSaveActionPerformed(JFrameBookMaster.java:225)

    at PackageInventory.JFrameBookMaster.access$000(JFrameBookMaster.java:26)

    at PackageInventory.JFrameBookMaster$1.actionPerformed(JFrameBookMaster.java:71)

    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)

    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

    at java.awt.Component.processMouseEvent(Component.java:6525)

    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)

    at java.awt.Component.processEvent(Component.java:6290)

    at java.awt.Container.processEvent(Container.java:2234)

    at java.awt.Component.dispatchEventImpl(Component.java:4881)

    at java.awt.Container.dispatchEventImpl(Container.java:2292)

    at java.awt.Component.dispatchEvent(Component.java:4703)

    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)

    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)

    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)

    at java.awt.Container.dispatchEventImpl(Container.java:2278)

    at java.awt.Window.dispatchEventImpl(Window.java:2739)

    at java.awt.Component.dispatchEvent(Component.java:4703)

    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)

    at java.awt.EventQueue.access$400(EventQueue.java:97)

    at java.awt.EventQueue$3.run(EventQueue.java:697)

    at java.awt.EventQueue$3.run(EventQueue.java:691)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)

    at java.awt.EventQueue$4.run(EventQueue.java:719)

    at java.awt.EventQueue$4.run(EventQueue.java:717)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Caused by: java.lang.SecurityException: sealing violation: package oracle.jdbc.internal is sealed
    at java.net.URLClassLoader.getAndVerifyPackage(URLClassLoader.java:394)

    at java.net.URLClassLoader.defineClass(URLClassLoader.java:423)

    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:367)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

    at java.lang.ClassLoader.defineClass1(Native Method)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)

    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

    at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)

    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:367)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

    at java.lang.ClassLoader.defineClass1(Native Method)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)

    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

    at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)

    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:367)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:411)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

    at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Class.java:340)

    at oracle.jdbc.driver.ClassRef.get(ClassRef.java:92)

    at oracle.jdbc.driver.ClassRef$XMLTypeClassRef.<init>(ClassRef.java:120)

    at oracle.jdbc.driver.ClassRef$XMLTypeClassRef.newInstance(ClassRef.java:109)

    at oracle.jdbc.driver.ClassRef.<clinit>(ClassRef.java:42)

    ... 46 more



    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class       

    oracle.jdbc.driver.ClassRef

    at oracle.jdbc.driver.OracleDriver.<clinit>(OracleDriver.java:262)

        at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Class.java:259)

    at PackageInventory.ClassConnectDB.connectdb(ClassConnectDB.java:17)

    at PackageInventory.JFrameBookMaster.jButtonSaveActionPerformed(JFrameBookMaster.java:225)

    at PackageInventory.JFrameBookMaster.access$000(JFrameBookMaster.java:26)

    at PackageInventory.JFrameBookMaster$1.actionPerformed(JFrameBookMaster.java:71)

    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)

    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

    at java.awt.Component.processMouseEvent(Component.java:6525)

    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)

    at java.awt.Component.processEvent(Component.java:6290)

    at java.awt.Container.processEvent(Container.java:2234)

    at java.awt.Component.dispatchEventImpl(Component.java:4881)

    at java.awt.Container.dispatchEventImpl(Container.java:2292)

    at java.awt.Component.dispatchEvent(Component.java:4703)

    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)

    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)

    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)

    at java.awt.Container.dispatchEventImpl(Container.java:2278)

    at java.awt.Window.dispatchEventImpl(Window.java:2739)

    at java.awt.Component.dispatchEvent(Component.java:4703)

    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)

    at java.awt.EventQueue.access$400(EventQueue.java:97)

    at java.awt.EventQueue$3.run(EventQueue.java:697)

    at java.awt.EventQueue$3.run(EventQueue.java:691)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)

    at java.awt.EventQueue$4.run(EventQueue.java:719)

    at java.awt.EventQueue$4.run(EventQueue.java:717)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

标签: javaoracle

解决方案


推荐阅读