Java/Database SQL JDBC/SqlServer

Материал из Java эксперт
Перейти к: навигация, поиск

Connecting to a SQLServer Database using the NetDirect JDBC driver

  
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
  public static void main(String[] argv) throws Exception {
    
    String driverName = "com.jnetdirect.jsql.JSQLDriver"; 
    Class.forName(driverName);
    
    String serverName = "127.0.0.1";
    String portNumber = "1433";
    String mydatabase = serverName + ":" + portNumber;
    String url = "jdbc:JSQLConnect://" + mydatabase; 
    String username = "username";
    String password = "password";
    Connection connection = DriverManager.getConnection(url, username, password);
  }
}





Connect to a database and read from table

 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
  public static void main(String[] args) throws Exception {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection m_Connection = DriverManager.getConnection(
        "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDatabase", "userid", "password");
    Statement m_Statement = m_Connection.createStatement();
    String query = "SELECT * FROM MyTable";
    ResultSet m_ResultSet = m_Statement.executeQuery(query);
    while (m_ResultSet.next()) {
      System.out.println(m_ResultSet.getString(1) + ", " + m_ResultSet.getString(2) + ", "
          + m_ResultSet.getString(3));
    }
  }
}





Creating a SQLServer Table to Store Java Types

  
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class Main {
  public static void main(String[] argv) throws Exception {
    String driverName = "com.jnetdirect.jsql.JSQLDriver";
    Class.forName(driverName);
    String serverName = "127.0.0.1";
    String portNumber = "1433";
    String mydatabase = serverName + ":" + portNumber;
    String url = "jdbc:JSQLConnect://" + mydatabase;
    String username = "username";
    String password = "password";
    Connection connection = DriverManager.getConnection(url, username, password);
    Statement stmt = connection.createStatement();
    //     Column Name          SQLServer Type           Java Type
    String sql = "CREATE TABLE sqlserver_all_table("
        + "col_boolean          BIT, "                // boolean
        + "col_byte             TINYINT, "            // byte
        + "col_short            SMALLINT, "           // short
        + "col_int              INTEGER, "            // int
        + "col_float            REAL, "               // float
        + "col_double           DOUBLE PRECISION, "   // double
        + "col_bigdecimal       DECIMAL(13,0), "      // BigDecimal; can also be NUMERIC(p,s)
        + "col_string           VARCHAR(254), "       // String
        + "col_date             DATETIME, "           // Date
        + "col_time             DATETIME, "           // Time
        + "col_timestamp        TIMESTAMP, "          // Timestamp
        + "col_characterstream  TEXT, "               // CharacterStream or AsciiStream (< 2 GBytes)
        + "col_binarystream     IMAGE)";              // BinaryStream (< 2 GBytes)
    stmt.executeUpdate(sql);
  }
}





Load driver for SQL Server

 
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class Main {
  public static void main(String[] argv) throws Exception {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    Connection con = DriverManager.getConnection("jdbc:sqlserver://MYSERVER;databaseName=MYDATABASE",
        "USERID", "PASSWORD");
    CallableStatement proc_stmt = con.prepareCall("{ call generateID(?) }");
    proc_stmt.setString(1, "employee");
    ResultSet rs = proc_stmt.executeQuery();
    if (rs.next()) {
      int employeeId = rs.getInt(1);
      System.out.println("Generated employeeId: " + employeeId);
    } else {
      System.out.println("Stored procedure couldn"t generate new Id");
    }
  }
}