아주 별의 별 것 다 해봅니다-_-;
모 고객사가 서버가 Windows 2003 server에 MSSQL을 사용한다고해서 MSSQL까지 삽질하게 되었습니다. MS계열의 것은 학교다닐 때 MFC나 C#을 배운 것 빼고는 제대로 배워본 적이 없어서 MS제품과는 좀 인연이 없었습니다. 하지만, 일하다보니 이런 MSSQL Database를 만지게 되었네요.

우선 공짜버전인 Express Edition버전을 설치해봤습니다.
http://www.microsoft.com/korea/msdn/vstudio/express/sql/download/


이 사이트가면 3. 다운로드 및 설치 부분에서 2개로 나눠진 것을 볼 수 있습니다. 초간단을 원하면 왼쪽에 있는 것을 받고, 다 되는 것을 받으려면 오른쪽 것을 받으라는 말 같습니다. 저는 초간단만 필요해서 왼쪽것을 받았습니다.

Microsoft SQL Server 2005 Express Edition
SQL Server Management Studio Express

요렇게 두개를 받았는데요. 위에 것은 MS SQL Server구요. 요 아래것은 MySQL에서 따지면 MySQL Administrator라고 하면 될까요? DB조작을 쉽게 해주는 툴입니다.


설치할 때 이것저것 옵션을 많이 물어보는데요. 저도 그냥 잘 몰라서 대충 설치했습니다-_-;

윈도우인증, mssql인증 뭐 이런게 있는데요. 저는 JDBC를 이용해서 접속할 것이라서 둘다 인증되는 걸루 설치하는 것 빼곤 별 특의사항 없네요.


우선 설치하고 JDBC로 접속하는데 좀 힘들었던 것이....

디폴트로 TCPIP가 꺼져있다는 겁니다. 이것때문에 엄청 고생했습니다.

Microsoft SQL Server 2005 -> 구성 도구 -> SQL Server 구성관리자를 실행하고,

SQL Server 구성 관리자 -> SQL Server 2005 네트워크 구성 -> INSTANCE이름(SQLEXPRESS)에 대한 프로토콜을 선택하면, TCP/IP가 꺼져있습니다.

이걸 사용으로 바꾸고 나서,

시작 -> cmd -> telnet locahost 1433(mssql은 1433이 기본포트라고 하네요)

저렇게 해서 아래와 같이 나온다면

C:\Documents and Settings\mudchobo>telnet localhost 1433
연결 대상 localhost...호스트에 연결할 수 없습니다. 포트 1433: 연결하지 못했습니다.
C:\Documents and Settings\mudchobo>
포트설정이 잘못 되어있을 겁니다.
TCP/IP 오른쪽버튼 클릭하고 속성누르면, 프로토콜에 모두 수신합니다가 예로 되어있으면, IP주소탭에서 IPALL부분에 포트가 설정이 잘못 되어있었을 껍니다. TCP 동적 포트는 비워두고, TCP포트는 1433으로 바꿔줍니다.
DB를 재시작하고 telnet 때리면 될 겁니다.

그다음에 DB를 컨트롤해야하니까 아까 두번째로 설치한 SQL Server Management Studio Express를 실행해봅시다.
그럼다음 아까 설정한 인증으로 로그인 하고, 보안 -> 로그인 부분에 사용자를 추가할 수 있습니다.
사용자를 추가한다음에 데이터베이스를 생성해서 해당 사용자에게 할당할 수 있습니다.
이건 뭐 삽질 해보면 됩니다.

JDBC는 이곳에서 받을 수 있습니다.
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=c47053eb-3b64-4794-950d-81e1ec91c1ba
이건 1.2버전인데, 2.0 preview버전도 있는 것 같아요. 이것도 다른 jdbc driver처럼 사용하면 돼요.
대신 주소입력하는 게 좀 틀리더라구요.
jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost;databasename=mudchobo
jdbc.username=mudchobo
jdbc.password=mudchobo
저렇게 사용합니다.

음 DB컨트롤은 쉽네요. ORACLE만 해왔는데, 칼럼type도 완전 틀리고, SQL문에서 어떤 난간을 만날지 두렵네요-_-;
 
Posted by 머드초보

댓글을 달아 주세요

 

저번달에 JCO놀러갔다가 알티베이스라는 국산DBMS를 알게 되었습니다. 그래서 한번 사용해볼까 라는 생각을 가지고 있었는데 시간이 없어서 그냥 있다가 갑자기 생각나서 설치를 해봤습니다.

Windows용은 설치가 완전 쉽습니다-_-; installer를 제공해서 걍 설치를 하면 알아서 환경변수도 등록해주고, 알아서 다 해주네요. 나중에 Linux나 Unix용으로도 한번 해봐야겠습니다.

우선 altibase홈페이지에서 Windows용으로 설치파일을 받습니다. 회원가입을 해야합니다.
http://adc.altibase.com/
여기서 Product -> Package클릭 후 WINDOWS용으로 클릭하면 나옵니다.
32BIT이면 32BIT용으로 받고, 64BIT이면 B4BIT용으로 받아야합니다.
저는 이걸로 altibase-WIN_NT_5.0-32bit-4.3.9.75-release-VC6.exe

실행하면 설치화면이 나오고 다음신공으로 설치를 합니다. 설치가 완료되면 환경변수를 등록해야하는데
자동으로 환경변수를 등록하게 됩니다.
ALTIBASE_HOME이라는 환경변수를 등록하고 해당 BIN디렉토리를 PATH로 잡아주더군요.

라이센스를 받아야합니다.
홈페이지에서 Member -> Download Info를 클릭하면(http://adc.altibase.com/member/down_info.jsp)
자기가 뭘 다운받았는지 다 나옵니다. 오른쪽에 보시면 라이센스신청클릭해서 신청하면 됩니다.
여기서 Windows에서는 Mac Address를 입력 잘해야합니다.
잘못 입력했더니 Internal Error : Invalid Protocol이라면서 안되더군요.
참고로 ipconfig/all해서 나오는 것 중에 랜카드가 여러개 있으면 가장 위에 것을 입력해야하는 것 같습니다.
가장 위에 것을 입력했더니 되더군요 ^^

라이센스가 메일로 날아오는데 이 license라는 파일을 ALTIBASE_HOME/conf 디렉토리에 복사하면됩니다.
그다음 이렇게 하면 됩니다.


C:\Documents and Settings\Owner>isql -u sys -p manager -sysdba
-----------------------------------------------------------------
     Altibase Client Query utility.
     Release Version 4.3.9.75
     Copyright 2000, ALTIBASE Corporation or its subsidiaries.
     All Rights Reserved.
-----------------------------------------------------------------
ISQL_CONNECTION = TCP, SERVER = 127.0.0.1, PORT_NO = 20300
iSQL(sysdba)> startup process;
Trying connect to database server. Connected with database server.

TRANSITION TO PHASE : PROCESS
Command execute success.
iSQL(sysdba)> create database mydb initsize=10M noarchivelog;
DB Info (Page Size     = 32768)
        (Page Count    = 385)
        (Total DB Size = 12615680)
        (DB File Size  = 1073741824)
        Creating MMDB FILES     [SUCCESS]
        Creating Catalog Tables [SUCCESS]
        Creating DRDB FILES     [SUCCESS]
  [SM] Rebuilding Indices [Total Count:0] **** [SUCCESS]
DB Writing Completed. All Done.
Create success.
iSQL(sysdba)> shutdown abort;
Database server killed..
iSQL(sysdba)> startup service;
Trying connect to database server. Connected with database server.

TRANSITION TO PHASE : PROCESS

TRANSITION TO PHASE : CONTROL

TRANSITION TO PHASE : META
  [SM] Recovery Phase - 1 : Preparing Database
  [SM] Recovery Phase - 2 : Loading Database
                          : Dynamic Memory Version => Loading Type-2
  [SM] Recovery Phase - 3 : Skipping Recovery & Starting Threads...
                            Refining Disk Table
  [SM] Refine Memory Table : ...................................................
... [SUCCESS]
  [SM] Rebuilding Indices [Total Count:64] ****.................................
................................................................................
............... [SUCCESS]

TRANSITION TO PHASE : SERVICE
--- STARTUP Process SUCCESS ---
Command execute success.
iSQL(sysdba)> exit
C:\Documents and Settings\Owner>

근데 그냥 위처럼 안하고 clean이라고 쳐도 돼요-_-;
그리고 나중에 서버구동할 때에는 그냥 isql접속 안하고 server start 라고 치면 돼요.
종료할 때는 server stop이라고 치면 되구요 ^^
어쨌든 이제 됐는지 확인해봅시다.

이클립스(eclipse)에서 제공하는 Data Source Explorer를 이용해서 접속해봅시다.
우선 Altibase용 JDBC가 필요하겠죠? 이것도 ALTIBASE홈페이지에서 받도록 합시다.
Product -> Environment에 있습니다. http://adc.altibase.com/product/environment.jsp
다운로드받고 Data Source Explorer 설정을 해봅시다.

오른쪽 아래에 Data Source Explorer가 안보인다면 Windows -> Other -> Data Source Explorer 확인 ^^

Databases대고 오른쪽버튼을 누르고 New클릭
Generic JDBC Connection 클릭
Name은 대충 AltibaseTest라고 써놓고 Next
Select a driver from the drop-down에서 ...을 클릭해서 Add
Generic JDBC Driver선택, Add Jar/ZIP클릭 후 다운받은 Altibase.jar 선택
Driver Name은 Altibase Driver라고 바꿈.
아래부분에 Driver Class를 ...클릭해서 Altibase.jdbc.driver.AltibaseDriver 선택
방금 추가한 Altibase Driver를 선택
Database는 mydb, URL은 jdbc:Altibase://127.0.0.1:20300/mydb
User name은 sys
Password는 manager
Finish후에 AlitibaseTest오른쪽버튼 대고 Connect!
접속 되면 된겁니다 ^^ 아마도-_-;

이제 설치밖에 안해봤는데 사용자계정 추가하고, 뭐 이것저것 알아볼라면 또 삽질해야하네요 ^^
어쨌든 국산인데 이런 훌륭한 DBMS가 있는 줄 몰랐네요. 지켜봐야겠네요^^

 
Posted by 머드초보

댓글을 달아 주세요

 

















[code java]
import java.sql.*;

class Java_Mysql
{
 public static void main(String[] args)
 {
  Connection con;

  try
  {
   Class.forName("com.mysql.jdbc.Driver");
  }
  catch (ClassNotFoundException e)
  {
   System.err.println("드라이버 연결 에러.");
  }

  try
  {
   String url = "jdbc:mysql://www.tomeii.com/mudchobo";
   con = DriverManager.getConnection(url,"ID", "PASSWORD");
   Statement stmt = con.createStatement();
   ResultSet rs = stmt.executeQuery("SELECT * FROM Member_List");

   while (rs.next())
   {
    System.out.print(rs.getString("ID") + " ");
    System.out.print(rs.getString("Password") + " ");
    System.out.print(rs.getString("Name") + " ");
    System.out.print(rs.getString("Age") + " ");
    System.out.print(rs.getString("Sex") + " ");
    System.out.print(rs.getString("Tel") + " ");
    System.out.println();
   }

   rs.close();
   stmt.close();
   con.close();
  }
  catch (SQLException e)
  {
   System.err.println("SQL에러.");
  }
 }
}
[/code]
우선 JAVA와 연동하기 위해서는 JDBC가 필요하다. MYSQL 홈페이지가면 받을 수 있다.
http://www.mysql.org/downloads/connector/j/

이 파일을 자바가 설치된 폴더에 JRE\LIB\EXT\ 폴더에 복사한다.

 
Posted by 머드초보
TAG Java, JDBC, MySQL

댓글을 달아 주세요