簡體   English   中英

如何在oracle數據庫11g中添加sql文件?

[英]How to add sql file in oracle database 11g?

我已經使用java swing創建了Java寄存器:

這是registration.java代碼:

   package student;
import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

public class Registration extends JFrame implements ActionListener
{ 

  JLabel l1, l2, l3, l4, l5, l6, l7, l8;

  JTextField tf1, tf2, tf5, tf6, tf7;

  JButton btn1, btn2;

  JPasswordField p1, p2;



  Registration()
   {

      setVisible(true);

      setSize(700, 700);

      setLayout(null);

      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      setTitle("Registration Form in Java");



      l1 = new JLabel("Registration Form in Windows Form:");

      l1.setForeground(Color.blue);

      l1.setFont(new Font("Serif", Font.BOLD, 20));
      l2 = new JLabel("Name:");

      l3 = new JLabel("Email-ID:");

      l4 = new JLabel("Create Passowrd:");

      l5 = new JLabel("Confirm Password:");

      l6 = new JLabel("Country:");

      l7 = new JLabel("State:");

      l8 = new JLabel("Phone No:"); 

      tf1 = new JTextField();

      tf2 = new JTextField();

      p1 = new JPasswordField();

      p2 = new JPasswordField();

      tf5 = new JTextField();

      tf6 = new JTextField();

      tf7 = new JTextField();



      btn1 = new JButton("Submit");

      btn2 = new JButton("Clear");



      btn1.addActionListener(this);

      btn2.addActionListener(this);



      l1.setBounds(100, 30, 400, 30);

      l2.setBounds(80, 70, 200, 30);

      l3.setBounds(80, 110, 200, 30);

      l4.setBounds(80, 150, 200, 30);

      l5.setBounds(80, 190, 200, 30);

      l6.setBounds(80, 230, 200, 30);

      l7.setBounds(80, 270, 200, 30);

      l8.setBounds(80, 310, 200, 30);

      tf1.setBounds(300, 70, 200, 30);
      tf2.setBounds(300, 110, 200, 30);

      p1.setBounds(300, 150, 200, 30);

      p2.setBounds(300, 190, 200, 30);

      tf5.setBounds(300, 230, 200, 30);

      tf6.setBounds(300, 270, 200, 30);

      tf7.setBounds(300, 310, 200, 30);

      btn1.setBounds(50, 350, 100, 30);

      btn2.setBounds(170, 350, 100, 30);
      add(l1);

      add(l2);

      add(tf1);

      add(l3);

      add(tf2);

      add(l4);

      add(p1);

      add(l5);

      add(p2);

      add(l6);

      add(tf5);

      add(l7);

      add(tf6);

      add(l8);

      add(tf7);

      add(btn1);

      add(btn2);

  }
  public void actionPerformed(ActionEvent e)
  {

     if (e.getSource() == btn1)
      {

         int x = 0;

         String s1 = tf1.getText();

         String s2 = tf2.getText();



         char[] s3 = p1.getPassword();

         char[] s4 = p2.getPassword(); 

         String s8 = new String(s3);

         String s9 = new String(s4);



         String s5 = tf5.getText();

         String s6 = tf6.getText();

         String s7 = tf7.getText();

         if (s8.equals(s9))
        {

             try
            {

                 Class.forName("oracle.jdbc.driver.OracleDriver");

                 Connection con = DriverManager.getConnection("jdbc:oracle:thin:rajesh/local@localhost");
                 PreparedStatement ps = con.prepareStatement("insert into emp values(?,?,?,?,?,?)");

                 ps.setString(1, s1);

                 ps.setString(2, s2);

                 ps.setString(3, s8);

                 ps.setString(4, s5);

                 ps.setString(5, s6);

                 ps.setString(6, s7);

                 ResultSet rs = ps.executeQuery();

                 x++;

                 if (x > 0)
                 {

                     JOptionPane.showMessageDialog(btn1, "Data Saved Successfully");

                 }

             }
       catch (Exception ex)
             {

                 System.out.println(ex);

             }

         }
       else
        {

             JOptionPane.showMessageDialog(btn1, "Password Does Not Match");

         } 

     } else
     {

         tf1.setText("");

         tf2.setText("");

         p1.setText("");

         p2.setText("");

         tf5.setText("");

         tf6.setText("");

         tf7.setText("");

     }

 } 

 public static void main(String args[])
{

     new Registration();

 }
}

當我運行它時,它顯示

"ORA-00942: table or view does not exist".

但是我已經在oracle 11g中創建了數據庫用戶和表。

這些步驟是我在sql命令行中執行的:

connect
username:
password:
"connected"
create user rani identifed by pcs;
grant connect, resource to rani;
"granted"

之后,為了創建表,我有一個名為reg.sql的文件:

create table emp
 (
    name varchar2(30), email varchar2(40),
    pass varchar2(30), count varchar2(30),
    state varchar2(30), phone number(15)
 );

因此,我必須導入此文件以存儲學生詳細信息。

我可以知道怎么做嗎? 提前致謝。

 connect username: password: "connected" create user rani identifed by pcs; grant connect, resource to rani; "granted" create table reg(pid integer primary key,name varchar2(50)); "table created" 

您創建的表不在RANI模式中 您需要首先連接到RANI用戶,然后發出CREATE TABLE語句。 到目前為止,您的表REG位於最初連接的USER中。

根據OP關於執行腳本的請求進行更新

您可以將其作為腳本執行。 只需在腳本本身中添加所有內容,然后調用腳本即可。

例如,您的reg.sql如下所示:

BEGIN
   EXECUTE IMMEDIATE 'DROP TABLE emp';
EXCEPTION
   WHEN OTHERS THEN
      IF SQLCODE != -942 THEN
         RAISE;
      END IF;
END;
/
create table emp
 (
    name varchar2(30), email varchar2(40),
    pass varchar2(30), count varchar2(30),
    state varchar2(30), phone number(15)
 );

您只需要使用在本地放置腳本的完整目錄執行腳本。 假設reg.sql放在C:\\ REG

sqlplus -s rani/pcs@sid << EOF
@C:\REG\reg.sql;
EXIT;
EOF

將表創建為rani模式。 對於Java,它可以如下所示:

Connection con = DriverManager.getConnection("jdbc:oracle:thin:rani/pcs@localhost");
Statement statement = connection.createStatement();
statement.executeUpdate("create table ...");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM