Sample Code는
--------------------------------
 Connection conn=null;
 Statement stmt = null;
 ResultSet rset = null;
 StringBuffer sql = new StringBuffer();
 sql.append("select name from dbo.spt_values");


 try {
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

  String connectionUrl = "jdbc:sqlserver://localhost:1444;databaseName=DB123;user=sa;password=1234";
  conn = DriverManager.getConnection(connectionUrl);

  stmt = conn.createStatement();
  rset = stmt.executeQuery(sql.toString());
  while(rset.next()){
      out.println(rset.getString("name")+"<br>");
  }
 } catch(Exception e) {
  e.printStackTrace();
 }
--------------------------------

MS SQL 2005 에서 sqljdbc.jar 라는 jdbc 파일을 사용합니다. (기존 MS SQL 2000 에서는 3개를 사용했던 것을 2005 에서는 한개만 사용합니다.)
jdk1.4 이상에서만 사용 가능 하고 jdk1.3 이하의 버전에서는 2000용 jdbc 만 사용 가능하다고 합니다.

download link : http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=c47053eb-3b64-4794-950d-81e1ec91c1ba

Posted by bomsoft

Java Application을 JVM (Java Virtual Machine)을 통해서 실행된다는 점을 제외하면 다른 언어로 만든 프로그램과 다른 점이 없습니다.


흔히, C/C++ 언어를 이용해서 윈도우즈 환경에서 코딩하여 컴파일 하면 .exe 파일로 생성되는 프로그램과 기능적인 차이는 없습니다.


다만, .exe 파일은 그냥 그대로 실행되지만, java application은 java.exe 와 같은 jvm을 통해서 실행이 됩니다.


java applet은 웹프라우져 안에서 실행되도록 만들어진 것입니다. 인터넷에서 html 과 같은 정적인 화면을 극복하는 용도로 많이 사용되는데, 웹 브라우져 안에서 실행되기 때문에 약간의 제약사항이 있습니다.


즉, java applet은 사용자 컴퓨터의 자원 (파일, 기타 장치 등)에 접근할 수 없고, java applet이 통신하여 원래의 웹서버가 아닌 다른 서버로의 통신 연결도 제한됩니다. 이밖에서 보안 및 안정성을 위한 제약사항이 좀 있습니다.


java servlet은 웹서버에서 실행되기 위해서 제공되는 형식입니다. java applet이 웹브라우져 안에서 실행되는 것과 비슷하게 servlet은 tomcat, resin, iplanet 과 같은 servlet container 라는 서버 안에서 실행되도록 되어 있습니다.


java servlet도 이에 따른 형식이 정해서 있기 때문에 약간의 제약이 있다고 봐야 겠습니다. servlet의 단점과 웹 프로그램의 활성화를 위해서 jsp (java server page) 라는 형식도 있습니다.

Posted by bomsoft
TAG java

Java에 있어서, String 변수가 가지고 있는 값이 유효한 값인지 체크하는 경우는 상당히 많습니다. 많은 개발자들이 비슷하지만 다양한 방법으로 체크를 하는 코드를 작성하고 있습니다.

예를 들면, String의 equals() 함수를 이용해서

    if ( !(str.equals("") ) {
        // OK~~!
    }

와 같이 검사하는 경우가 종종 있습니다.

이렇게 하게 되면, 우선 null 인지 여부를 누락하는 것이고, String 변수에 garbage 값이 들어 있는 경우 오류가 발생할 소지가 있습니다.

따라서, robust programming 에서는 다음과 같이 체크할 것을 권장합니다.
------------------------------------------------------------
String str;

//........<중간생략>........

if (str != null && str.length > 0) {          
    // 유효한 값으로 처리
}
------------------------------------------------------------
여기서, 기본적으로 null 인지 검사하고, 문자열의 길이를 체크함으로써 유효한 값을 가지고 있는 지 검사하는 방법입니다.
이런 방식은 str = "" 의 값을 가질 경우도 유효하지 않은 것으로 가정하는 경우입니다.
str = "" 도 유효하지 않다고 가정하는 이유는, 문자열이 null 은 아니지만 실제로 아무런 값도 가지고 있지 않게 되면 일반적으로, 이와 관련이 있는 다른 코드에서 오류를 유발하는 것을 방지할 수 있기 때문입니다.

또한, 길이 즉 숫자를 체크하는 것이기 때문에, 체크를 위한 속도 측면에서도 권할만 합니다.

Posted by bomsoft
TAG java, RP, String

데이터베이스 유저 아이다와 암호가 "user1", "passwd" 라고 가졍합니다.

String hostname= "host1";  // 오라클 데이테베이스가 운영되고 있는 서버명, 혹은 아이피.
String portnum = "1521";   // 접속 포트 번호, 일반적으로 1521 입니다.
String dbname = "orcl";   // 오라클 데이터베이스 인스턴스 이름.
String dbuser= "user1";
String dbpass= "passwd";

public java.sql.Connection get_connection (String hostname, String portnum, String dbname, String dbuser, String dbpass)
   
throws Exceptions
{      
    String dburl = "jdbc:oracle:thin:@" + hostname + ":" + portnum + ":" + dbname ;
    Class.forName("oracle.jdbc.driver.OracleDriver");
    java.sql.Connection conn = DriverManager.getConnection(dburl, dbuser, dbpass);
    return conn;
}

Posted by bomsoft
TAG java, jdbc, Oracle, RP