[英]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.