Advertisement
Bukk94

Untitled

May 6th, 2016
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.98 KB | None | 0 0
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package oracleconnector;
  6.  
  7. import java.SQL.Connection;
  8. import java.SQL.DriverManager;
  9. import java.SQL.SQLException;
  10. import java.text.DateFormat;
  11. import java.text.ParseException;
  12. import java.text.SimpleDateFormat;
  13. import java.util.Locale;
  14. import java.util.Properties;
  15.  
  16. /**
  17.  * Třída pro vytvoření spojení do databázového systému Oracle.
  18.  * Vytvořeno v návrhovém vzoru singleton.
  19.  * @author Zechmeister Jiří
  20.  * @version 1.2
  21.  */
  22. public class OracleConnector {
  23.  
  24.     private static Connection connection = NULL;
  25.     private static String userName;
  26.     private static String password;
  27.     private static String serverName;
  28.     private static INT portNumber;
  29.     private static String dbms;
  30.     private static String sid;
  31.     private static Connection conn = NULL;
  32.  
  33.     /**
  34.      * Metoda vrátí navázané spojení do databáze
  35.      * @return java.sql.Connection Navázané spojení
  36.      * @throws SQLException
  37.      */
  38.     public static Connection getConnection() throws SQLException {
  39.         IF (OracleConnector.conn == NULL) {
  40.             throw NEW SQLException("Session is not established");
  41.         }
  42.         RETURN OracleConnector.conn;
  43.     }
  44.  
  45.     /**
  46.      * Metoda pro sestavení connection stringu na základě znalosti TNS
  47.      * @param tnsAlias Alias do tnsnames.ora
  48.      * @param userName Uživatelské jméno do db
  49.      * @param password Heslo do db
  50.      * @throws SQLException
  51.      */
  52.     public static void setUpConnection(String tnsAlias, String userName, String password) throws SQLException {
  53.         OracleConnector.dbms = "oracle:thin";
  54.         OracleConnector.userName = userName;
  55.         OracleConnector.password = password;
  56.  
  57.         Properties connectionProps = NEW Properties();
  58.         connectionProps.put("user", OracleConnector.userName);
  59.         connectionProps.put("password", OracleConnector.password);
  60.        
  61.         OracleConnector.conn = DriverManager.getConnection(
  62.                 "jdbc:oracle:thin:@"+tnsAlias,
  63.                 connectionProps);
  64.  
  65.         OracleConnector.conn.setAutoCommit(FALSE);
  66.  
  67.         System.OUT.println("Connected to database via TNS");
  68.     }
  69.    
  70.     /**
  71.      * Metoda pro sestavení connection stringu na základě eZConnect
  72.      * @param serverName    Adresa serveru (host)
  73.      * @param portNumber    Port instance
  74.      * @param sid           Sid
  75.      * @param userName      Uživatelské jméno do db
  76.      * @param password      Heslo do db
  77.      * @throws SQLException
  78.      */
  79.     public static void setUpConnection(String serverName, INT portNumber, String sid, String userName, String password) throws SQLException {
  80.  
  81.         OracleConnector.serverName = serverName;
  82.         OracleConnector.portNumber = portNumber;
  83.         OracleConnector.dbms = "oracle:thin";
  84.         OracleConnector.sid = sid;
  85.         OracleConnector.userName = userName;
  86.         OracleConnector.password = password;
  87.  
  88.         Properties connectionProps = NEW Properties();
  89.         connectionProps.put("user", OracleConnector.userName);
  90.         connectionProps.put("password", OracleConnector.password);
  91.  
  92.         OracleConnector.conn = DriverManager.getConnection(
  93.                 "jdbc:" + OracleConnector.dbms + ":@"
  94.                 + OracleConnector.serverName
  95.                 + ":" + OracleConnector.portNumber + ":" + OracleConnector.sid,
  96.                 connectionProps);
  97.  
  98.         OracleConnector.conn.setAutoCommit(FALSE);
  99.  
  100.         System.OUT.println("Connected to database");
  101.     }
  102.    
  103.     /**
  104.      * Metoda sestaví a vrátí connection tring
  105.      * @return Sestavený connection string pro jdbc
  106.      */
  107.     public static String getConnectionString() {
  108.         RETURN "//jdbc:" + OracleConnector.dbms + ":@" + OracleConnector.serverName + ":" + OracleConnector.portNumber + ":" + OracleConnector.sid;
  109.     }
  110.    
  111.     /**
  112.      * Metoda ukončí spojení s databází
  113.      * @param commit    Potvrdit měněná data (commit)
  114.      * @throws SQLException
  115.      */
  116.     public static void closeConnection(BOOLEAN commit) throws SQLException {
  117.  
  118.         IF (conn != NULL) {
  119.  
  120.             IF (commit) {
  121.                 conn.commit();
  122.             }
  123.  
  124.             conn.close();
  125.             conn = NULL;
  126.             System.OUT.println("Connection closed");
  127.         }
  128.     }
  129.    
  130.     /**
  131.      * Metoda převede datum (String) na typ java.sql.Date
  132.      * @param date  POžadované datum
  133.      * @param format Požadovaný formát
  134.      * @return  java.sql.Date Datum v požadovaném formátu
  135.      * @throws ParseException
  136.      */
  137.     public static java.SQL.DATE parseDate(String DATE, String format) throws ParseException{
  138.         DateFormat df = NEW SimpleDateFormat(format, Locale.getDefault());
  139.         java.SQL.DATE RESULT = NULL;
  140.         try {
  141.             RESULT = NEW java.SQL.DATE(df.parse(DATE).getTime());
  142.         } catch (ParseException ex) {
  143.             throw ex;
  144.         }
  145.         RETURN RESULT;
  146.     }
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement