使用javaswing创建与Oracle10g的JDBC连接
creating JDBC connection with Oracle 10g using java swing
我在jdbc连接中收到一条未知的源错误消息:
IDE: java eclipse
Data Base: oracle 10g
code : java swing
DNS name : home
table name : lg (login )
请帮我摆脱这个错误。。。!这是我正在使用的代码:
package vijay;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.*;
import javax.swing.border.*;
import java.sql.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
public class jdbc extends JFrame {
Connection con=null;
Statement st=null;
/**
*
*/
private static final long serialVersionUID = 6517038751742780009L;
private JPanel contentPane;
private JTextField textField;
private JPasswordField passwordField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
jdbc frame = new jdbc();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public jdbc()throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:home","system","sa");
st = con.createStatement();
JOptionPane.showMessageDialog(null, "connected");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 566, 359);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.CENTER);
panel.setLayout(null);
JLabel lblUserName = new JLabel("user name");
lblUserName.setBounds(144, 89, 70, 14);
panel.add(lblUserName);
JLabel lblPassword = new JLabel("password");
lblPassword.setBounds(144, 142, 46, 14);
panel.add(lblPassword);
textField = new JTextField();
textField.setBounds(248, 86, 86, 20);
panel.add(textField);
textField.setColumns(10);
JButton btnLogin = new JButton("login");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String un=textField.getText();
String pwd=passwordField.getText().trim();
String str;
if(un.equals("vijay")&&pwd.equals("123")) {
try {
str="insert into lg values('"+un+"','"+pwd+"')";
st.executeUpdate(str);
JOptionPane.showMessageDialog(null, "record inserted");
}
catch(Exception e) {
}
}
else {
JOptionPane.showMessageDialog(null, "Wrong Login Details");
}
}
});
btnLogin.setBounds(144, 209, 89, 23);
panel.add(btnLogin);
btnLogin.setMnemonic(KeyEvent.VK_L);
JButton btnExit = new JButton("Exit");
btnExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
btnExit.setBounds(254, 209, 89, 23);
panel.add(btnExit);
btnExit.setMnemonic(KeyEvent.VK_E);
passwordField = new JPasswordField();
passwordField.setBounds(247, 142, 86, 20);
panel.add(passwordField);
}
}
使用这个驱动程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
连接到oracle数据库会很困难。
您应该加载oracle驱动程序。
以下是连接到oracle数据库的示例:
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
public class OracleJDBC {
public static void main(String[] argv) {
System.out.println("-------- Oracle JDBC Connection Testing ------");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your Oracle JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("Oracle JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:test", "username",
"password");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}
}
}
编辑:
来自oracle文档:
建议您从供应商,例如数据库供应商或数据库中间件小贩检查当前可用的驱动程序列表。JDBC-ODBC建议仅将桥式驱动器用于实验用途,或在没有其他替代方案也是可用的。
您可以在以下网址查看更多详细信息:http://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/bridge.doc.html
检查您是否在数据源中创建了DNS?
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 如何使用密码检测网络中的状态连接
- 如何处理node.js节点mongodb中的连接和查询队列
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- Twilio-显示所有连接参与者的远程参与者视频
- 操作放置在画布上的元素之间的连接
- TypeError:_this.store.getState在使用来自Redux的连接时不是函数
- jQuery UI可排序-多连接列表拖动
- 如何使用offer/answer交换来自两个对等连接的流
- 在Qualtrics中,介绍如何动态连接两个滑块
- 使用优化器在慢速连接上加载main.js时需要js超时
- 如果连接类型为none,则Javascript Function Only警报
- GTK百老汇支持同时连接
- 在node.js中写入ECONNRESET错误和套接字连接检查
- 如何将所有JS文件连接到一个文件夹中
- 使用javaswing创建与Oracle10g的JDBC连接
- 在JavaScript中通过JDBC连接mysql
- 连接谷歌电子表格到MySQL w/ JDBC
- 使用Google Apps Script从JDBC连接中获取多个值
- 使用JDBC连接Apache Drill时出现问题-RPC异常无效