WEB开发网
开发学院数据库Sybase JConnect编程连接ASA示例 阅读

JConnect编程连接ASA示例

 2006-04-25 23:12:14 来源:WEB开发网   
核心提示: This is document will assist newcomers in writing java code to perform simple connectivity to an ASA database using the jConnect JDBC driver. This article disc
 This is document will assist newcomers in writing java code to perform simple connectivity to an ASA database using the jConnect JDBC driver.

This article discusses a simple Java program which connects to an ASA database using the Sybase jConnect JDBC driver. Although simple, this code is commonly requested. Having this code at hand will prove as a handy reference. Further research into JDBC and the java.sql package is highly recommended to better understand JDBC programming.

Here is the code necessary to connect to an ASA database via jConnect. This sample retrieves a result set consisting of all the rows and columns of the employee table.

The myConnection code:

import java.sql.*;

public class myConnection {

 public static void main( String[] args ) {

  try {
    // Using Sybase jConnect 4.2
    Class.forName("com.sybase.jdbc.SybDriver");

    // Using Sybase jConnect 5.2
    //Class.forName("com.sybase.jdbc2.jdbc.SybDriver");

    Connection conn = DriverManager.getConnection("jdbc:sybase:Tds:testmachine-pc:2638", "dba", "sql");
    Statement stmt = conn.createStatement( );
    ResultSet rs = stmt.executeQuery( "SELECT * FROM EMPLOYEE");
    while ( rs.next( ) ) {
     System.out.println( rs.getInt( 1 ) );
    }
   } catch ( Exception e ) {
    System.out.println( "An exception occurred." );
   }

 } // end of main

} // end of MyConnection class


Brief explanation of the code:

In order to understand how this code works, important sections of code will be discussed.

Section 1:
import java.sql.*;

This line of code is necessary to have access to the database connectivity classes. The java.sql package contains the connection, statement, and result set classes necessary to retrieve and display data from a database.

Section 2:
// Using Sybase jConnect 4.2
Class.forName("com.sybase.jdbc.SybDriver");

// Using Sybase jConnect 5.2
//Class.forName("com.sybase.jdbc2.jdbc.SybDriver");

These two lines of code are used to dynamically load the Sybase jConnect driver. Change the commenting of this code according to which version of jConnect in use. Often people wonder why such code is used, and why is it not better to simply import the necessary packages. Depending on the logic of your application, it may be necessary to connect to your database from a variety of different ways. Dynamically loading a driver class with the Class.forName() method prevents us from having to import every single driver that could possibly be used. This is especially important when an application can be configured to connect to a variety of databases.

Section 3:
Connection conn = DriverManager.getConnection("jdbc:sybase:Tds:testmachine-pc:2638", "dba", "sql");

The DriverManager's getConnection() method is used to find a database driver, which matches the database URL that is passed into it. The getConnection() method uses the syntax of the URL provided (in this case: "jdbc:sybase:Tds:2638") to find a JDBC driver in memory, which can accommodate it. In this case, the DriverManager will find the jConnect driver we have loaded dynamically. This method will establish a connection to the database specified by the URL (in this case; the database running on port 2638 on testmachine-pc).

Section 4:
Statement stmt = conn.createStatement( );
ResultSet rs = stmt.executeQuery( "SELECT * FROM EMPLOYEE");

The Connection class is used to create a Statement object which will be used for creating a static SQL statement and obtaining the result set produced.
A Statement object is first instantiated using the createStatement() method of the connection class. The executeQuery() method is then called to return a ResultSet object containing the data produced by the SQL statement provided as a parameter.

Section 5:
while ( rs.next( ) ) {
  System.out.println( rs.getInt( 1 ) );
}

In this last section of code, the ResultSet object is used to print out the value of the first column of each row to the Java console. The next() method is used to move to the next row and determine if there are any more rows in the result set. Using a while loop will assert that we will keep on reporting the value of the first column of each row until we have reached the end of the result set. Inside the loop, the getInt() method is used to convert the data to a integer for reporting purposes. The ResultSet object provides similar getXXX( ) methods to convert data retrieved from the database to the primitive data types.

Tags:JConnect 编程 连接

编辑录入:coldstar [复制链接] [打 印]
赞助商链接