아주 별의 별 것 다 해봅니다-_-;
모 고객사가 서버가 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 머드초보

댓글을 달아 주세요

  1. BlogIcon 검쉰 2008.08.04 17:19  댓글주소  수정/삭제  댓글쓰기

    고생많으십니다 ;)

    • 머드초보 2008.08.04 23:04  댓글주소  수정/삭제

      아넵 댓글 감사해요 ^^
      새로운 삽질에 대한 두려움을 떨쳐버려야죠 ^^

 

저번달에 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 머드초보

댓글을 달아 주세요

  1. 알티인 2008.03.21 09:39  댓글주소  수정/삭제  댓글쓰기

    안녕하세요..이것저것 검색하다가 님의 블로그에 방문하게 되었네요..
    참.. 제 소개가 늦었네요.. 전.. 알티베이스 직원입니다.. JCO 행사에도 참가했던...^^
    관심 가져 주셔서 감사하고.. 직접 설치까지 해 봐주셔서 더 감사해서 저도 모르게 그만.. 글을 올립니다..^^
    앞으로 더 많은 관심 보여주시구요.. 좋은 제품 개발에 더욱 매진하겠습니다...(제가 많이 좀 딱딱하네요..)
    사용하시면서 궁금한 점은 ADC 게시판에 올려 주시거나 support@altibase.com으로 메일 주시면 바로 처리되니깐.. 우리 지원팀과 개발자들 많이 좀 괴롭혀 주세요~~~^^ 피가 되고 살이 되지 않을까요?

    • 머드초보 2008.03.24 08:25  댓글주소  수정/삭제

      헛 방문해주셔서 감사합니다 ^^
      그냥 설치만 해보고 사용은 안해봤어요^^
      나중에 간단히 예제 테스트를 할 때 사용해보도록 할께요^^
      저는 DB는 4개정도 밖에 없는 줄알았는데 국산도 있을 줄이야 ^^
      어쨌든 더욱 멋진 DB가 되었으면 좋겠네요 ^^

  2. 강혀기 2010.04.08 01:30  댓글주소  수정/삭제  댓글쓰기

    안녕하세요.... 저도 이것 저것 검색하다가 님 블로그에 오게됬네요 후후
    혹시 은 티베이스 4의 아쉬점이 있다면 뭐가 있다고 생각하시나요?? 또 그에 따른 해결 방안이 있다면
    어떤것이 있을까요?

    • 머드초보 2010.04.09 10:34  댓글주소  수정/삭제

      안녕하세요~
      제가 db전공이 아니다보니-_-
      알티베이스를 많이 써보진 않아서 ㅠㅠ
      근데 데이터베이스는 고객들이 원하는 것은 정말 안정적이게 돌아가는 것 하나만 보고 많이들 선택하죠.
      저희는 mysql을 쓰고 있는데....이게 툭하면 죽어버려서-_-
      근데 제생각인데....설치가 좀 어려운 것 같은....-_-

    • BlogIcon 머드초보 2011.12.02 17:44 신고  댓글주소  수정/삭제

      아마 상업적으로 쓰시면 라이센스를 지불해야하지 않을까요? ㄷㄷ 저도 정확하게 모르겠네요ㅠ
      홈페이지가서 문의해보시는 게^^

 

















[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

댓글을 달아 주세요