출처 : http://www.jabook.org/jabook/jbjsp01/10000_40000_70000__10000_40000_70000.html

 


>더보기


 

출처 : http://struts.linuxstudy.pe.kr/


>더보기


'programming > Java' 카테고리의 다른 글

서블릿에서 한글 처리  (2) 2006.03.21
[펌] Microsoft JDBC 시작하기  (0) 2004.06.04
[펌] JAVA 성능 향상 팁.  (0) 2004.05.28

요약

이 문서에서는 JDBC용 Microsoft SQL Server 2000 드라이버를 사용하여 SQL Server 2000에 연결하는 방법을 설명합니다.


참고: JDBC용 Microsoft SQL Server 2000 드라이버의 설치 지침은 JDBC용 Microsoft SQL Server 2000 드라이버 설치 설명서를 참조하십시오.

JDBC용 Microsoft SQL Server 2000 드라이버를 설치한 후 연결 URL이나 JNDI 데이터 원본을 사용하여 프로그램에서 데이터베이스에 연결할 수 있습니다. 이 문서에서는 연결 URL을 사용하여 데이터베이스 연결을 구성하고 테스트하는 방법을 설명합니다.

데이터베이스에 연결하는 한 가지 방법은 JDBC 드라이버 관리자를 통해 DriverManager 클래스의 getConnection 메서드를 사용하는 것입니다. 이 메서드를 사용하는 가장 간단한 방법은 URL, 사용자 이름 및 암호가 포함된 문자열 매개 변수를 사용하는 것입니다. 다음 절에서는 JDBC 프로그램에서 JDBC용 Microsoft SQL Server 2000 드라이버를 로드하는 방법을 설명합니다.

맨 위로

CLASSPATH 변수를 설정하려면

JDBC용 Microsoft SQL Server 2000 드라이버의 .jar 파일이 CLASSPATH 변수에 나열되어 있어야 합니다. CLASSPATH 변수는 Java Virtual Machine(JVM)이 컴퓨터에서 JDBC 드라이버를 찾을 때 사용하는 검색 문자열입니다. 드라이버가 CLASSPATH 변수에 없으면 드라이버를 로드하려고 할 때 다음 오류 메시지가 나타납니다.
java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver
다음 항목을 포함하도록 시스템의 CLASSPATH 변수를 설정합니다.
  • \설치 경로\Lib\Msbase.jar
  • \설치 경로\Lib\Msbase.jar
  • \설치 경로\Lib\Mssqlserver.jar
다음은 구성된 CLASSPATH 변수의 예입니다.

CLASSPATH=.;c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar

맨 위로

드라이버를 등록하려면

드라이버를 등록하면 JDBC 드라이버 관리자에게 로드할 드라이버를 지시하게 됩니다. class.forName 함수를 사용하여 드라이버를 로드하는 경우 드라이버의 이름을 지정해야 합니다. 다음은 JDBC용 Microsoft SQL Server 2000 드라이버의 드라이버 이름입니다.

com.microsoft.jdbc.sqlserver.SQLServerDriver

다음 예제 코드에서는 드라이버를 등록하는 방법을 보여 줍니다.
Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();				
맨 위로

연결 URL을 전달하려면

연결 URL의 형태로 데이터베이스 연결 정보를 전달해야 합니다. 다음은 JDBC용 Microsoft SQL Server 2000 드라이버의 템플릿 URL입니다. 사용 중인 데이터베이스에 맞는 값으로 변경하십시오.

jdbc:microsoft:sqlserver://servername:1433

다음 예제 코드에서는 연결 URL을 지정하는 방법을 보여 줍니다.
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");				
서버 이름 값은 IP 주소나 호스트 이름(네트워크가 호스트 이름을 IP 주소로 확인한다고 가정하는 경우)일 수 있습니다. 호스트 이름에 ping 명령을 실행하고 올바른 IP 주소와 함께 응답을 받는지 확인하여 서버 이름 값을 테스트할 수 있습니다.

서버 이름 뒤의 숫자 값은 데이터베이스가 수신하는 포트 번호입니다. 위에 있는 값은 예로 든 기본 값이므로 데이터베이스가 사용하는 포트 번호로 변경해야 합니다.

연결 URL 매개 변수의 전체 목록은 JDBC용 Microsoft SQL Server 2000 드라이버 HTML 도움말이나 온라인 가이드에서 "Connection String Properties" 절을 참조하십시오.

맨 위로

연결을 테스트할 예제 코드

다음 예제 코드는 데이터베이스에 연결하고 데이터베이스 이름, 버전 및 사용 가능한 카탈로그를 표시합니다. 서버 속성을 사용 중인 서버에 해당하는 값으로 바꾸십시오.
import java.*;public class Connect{     private java.sql.Connection  con = null;     private final String url = "jdbc:microsoft:sqlserver://";     private final String serverName= "localhost";     private final String portNumber = "1433";     private final String databaseName= "pubs";     private final String userName = "user";     private final String password = "password";     // Informs the driver to use server a side-cursor,      // which permits more than one active statement      // on a connection.     private final String selectMethod = "cursor";           // Constructor     public Connect(){}          private String getConnectionUrl(){          return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";     }          private java.sql.Connection getConnection(){          try{               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");                con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);               if(con!=null) System.out.println("Connection Successful!");          }catch(Exception e){               e.printStackTrace();               System.out.println("Error Trace in getConnection() : " + e.getMessage());         }          return con;      }     /*          Display the driver properties, database details      */      public void displayDbProperties(){          java.sql.DatabaseMetaData dm = null;          java.sql.ResultSet rs = null;          try{               con= this.getConnection();               if(con!=null){                    dm = con.getMetaData();                    System.out.println("Driver Information");                    System.out.println("\tDriver Name: "+ dm.getDriverName());                    System.out.println("\tDriver Version: "+ dm.getDriverVersion ());                    System.out.println("\nDatabase Information ");                    System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());                    System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());                    System.out.println("Avalilable Catalogs ");                    rs = dm.getCatalogs();                    while(rs.next()){                         System.out.println("\tcatalog: "+ rs.getString(1));                    }                     rs.close();                    rs = null;                    closeConnection();               }else System.out.println("Error: No active Connection");          }catch(Exception e){               e.printStackTrace();          }          dm=null;     }               private void closeConnection(){          try{               if(con!=null)                    con.close();               con=null;          }catch(Exception e){               e.printStackTrace();          }     }     public static void main(String[] args) throws Exception       {          Connect myDbTest = new Connect();          myDbTest.displayDbProperties();       }}				
이 코드가 성공적으로 실행되면 다음과 비슷하게 출력됩니다.

Connection Successful!Driver Information        Driver Name: SQLServer        Driver Version: 2.2.0022Database Information        Database Name: Microsoft SQL Server        Database Version: Microsoft SQL Server  2000 - 8.00.384 (Intel X86)        May 23 2001 00:02:52        Copyright (c) 1988-2000 Microsoft Corporation        Desktop Engine on Windows NT 5.1 (Build 2600: )Avalilable Catalogs        catalog: master        catalog: msdb        catalog: pubs        catalog: tempdb					

맨 위로

기본 연결 문제 해결

SQL Server에 연결할 때 나타날 수 있는 일반적인 오류 메시지는 다음과 비슷합니다.
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]'user' 사용자가 로그인하지 못했습니다. 이유: 트러스트된 SQL Server 연결과 관련되지 않았습니다.

이 오류 메시지는 SQL Server 2000 인증 모드가 Windows 인증 모드로 설정된 경우 나타납니다. JDBC용 Microsoft SQL Server 2000 드라이버는 Windows NT 인증을 사용하여 연결하는 작업을 지원하지 않습니다. SQL Server의 인증 모드를 Windows 인증과 SQL Server 인증을 모두 허용하는 혼합 모드로 설정해야 합니다.


java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]이 버전의 JDBC 드라이버는 Microsoft SQL Server 2000만을 지원합니다. SQL Server 2000으로 업그레이드하거나 다른 버전의 드라이버를 지정하십시오.

이 오류 메시지는 SQL Server 2000 이전의 SQL Server 버전에 연결하려는 경우 나타납니다. JDBC용 Microsoft SQL Server 2000 드라이버는 SQL Server 2000에서만 연결을 지원합니다.

'programming > Java' 카테고리의 다른 글

[펌] JDBC Driver load 하는 3가지 방법  (3) 2006.01.10
[펌] JAVA 성능 향상 팁.  (0) 2004.05.28
Eclipse 유용한 단축키 모음...  (0) 2004.05.28
Java Press (http://www.gihyo.co.jp/magazines/javapress) 라는 일본의  
Java전문 서적(2003년 2월판)에서 발췌한 Java performance tips입니다.  

그중 Java 일반적사항에 관련하여 7개, String 관련2개, Collection관련 8개,  
IO관련2개등 총 4개 분야 19여개의 Tips에 대해 제가 나름대로 번역해본 자료입니다.  

출처 : javaservice.net 김선필(piper2)님의 글입니다.


내용보기


'programming > Java' 카테고리의 다른 글

[펌] JDBC Driver load 하는 3가지 방법  (3) 2006.01.10
[펌] Microsoft JDBC 시작하기  (0) 2004.06.04
Eclipse 유용한 단축키 모음...  (0) 2004.05.28

한동안 Eclipse를 사용하지 않다가... Java 프로그래밍 할 일이 있어서... 올만에

Eclipse 3.0을 다운 받았다.

 

Lastest Release로는 3.0이 아직 안 나와서 Stream Stable Builds를 받았다. 정확히 3.0M9이다...

 

단축키가 많이 바뀐건지 내가 까먹은건지 --''

하나씩 발견할 때마다 정리해보고자 한다.

 

새삼 Eclipse의 강력한 기능이 부럽다... MS도 이렇게 완벽히 만들면 얼마나 좋을까...

 

혹시 여기 있는거 말고 아시는 분 덧글 달아주심 ㄳ


단축키 보기


'programming > Java' 카테고리의 다른 글

[펌] JDBC Driver load 하는 3가지 방법  (3) 2006.01.10
[펌] Microsoft JDBC 시작하기  (0) 2004.06.04
[펌] JAVA 성능 향상 팁.  (0) 2004.05.28

+ Recent posts