📜  Java 无需DSN访问连接数据库

📅  最后修改于: 2020-10-13 01:03:06             🧑  作者: Mango

无需DSN即可访问的连接

有两种方法将Java应用程序与访问数据库连接。

  • 没有DSN(数据源名称)
  • 使用DSN

Java通常与Oracle,mysql或DB2数据库一起使用。因此,您只能出于了解知识而学习此主题。

在没有DSN的情况下连接具有访问权限的Java应用程序的示例

在此示例中,我们将把Java程序与访问数据库连接起来。在这种情况下,我们已经在访问数据库中创建了登录表。表中只有一列名为name。让我们获取登录表的所有名称。

import java.sql.*;
class Test{
public static void main(String ar[]){
 try{
   String database="student.mdb";//Here database exists in the current directory

   String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};
                    DBQ=" + database + ";DriverID=22;READONLY=true";

   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   Connection c=DriverManager.getConnection(url);
   Statement st=c.createStatement();
   ResultSet rs=st.executeQuery("select * from login");
  
   while(rs.next()){
    System.out.println(rs.getString(1));
   }

}catch(Exception ee){System.out.println(ee);}

}}

使用DSN进行访问连接Java应用程序的示例

与type1驱动程序的连接性不好。要将Java应用程序与type1驱动程序连接,请首先创建DSN,这里我们假设您的dsn名称为mydsn。

import java.sql.*;
class Test{
public static void main(String ar[]){
 try{
   String url="jdbc:odbc:mydsn";
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   Connection c=DriverManager.getConnection(url);
   Statement st=c.createStatement();
   ResultSet rs=st.executeQuery("select * from login");
  
   while(rs.next()){
    System.out.println(rs.getString(1));
   }

}catch(Exception ee){System.out.println(ee);}

}}