MySQL DB를 Visual Studio의 Server Explorer에 추가하기

C#/Mysql 2013.11.28 15:49

Visual Studio로 개발을 진행할 때 MySQL DB를 Server Explorer에 추가하는 방법에 대해 안내 드립니다.

  1. MySQL ODBC Connector의 설치가 필요합니다.
  2. 이제 DSN(Data Source Name)을 생성합니다. 시스템에 DSN 몇 개를 생성하여도 상관이 없으며, 이 DSN은 OS에서 Application에 Data Source로의 연결정보를 제공하는 용도로 사용됩니다.
    1. [제어판]-[관리도구]를 엽니다.
      image
    2. [데이터 원본(ODBC)]를 엽니다.
      image
    3. DSN을 등록할 수 있는 창이 나타납니다.
      image
      • File DSN : *.dsn 파일에 Text형태로 Data Source 접속 정보를 저장합니다.
      • System DSN : 시스템(OS)의 모든 사용자를 위한 DSN을 전역자원으로 등록합니다. 실제 정보는 Registry에 저장됩니다.
      • User DSN : 해당 사용자를 위한 DSN을 전역자원으로 등록합니다. Registry에 저장됩니다.
    4. 어떤 DSN을 선택해도 결국 방법이 다를 뿐 Data Source에 접속할 수 있습니다. 여기에서는 [사용자 DSN]에 추가를 하겠습니다. [사용자 DSN] 탭에서 [추가(D)…]버튼을 클릭합니다.
    5. [MySQL ODBC 5.1 Driver]를 선택합니다.
      image
    6. 아래와 같이 Data Source에 대한 정보를 입력합니다.
      image
      • Data Source Name : 해당 DSN을 가장 잘 설명하는 이름
      • Description : 해당 DSN에 대한 설명
      • TCP/IP Server : MySQL DB IP
      • Port : MySQL DB Port. 기본 값은 3306
      • User : DB에 접근 허용된 사용자 ID
      • Password : User의 Password
      • Database : 대상 DB
    7. 위 정보를 모두 입력하면 [Text]버튼을 클릭하여, 연결이 성공적으로 이루어지는지 확인합니다.
      image
    8. 아래 그림과 같이 DSN이 추가됩니다. 이제 [ODBC 데이터 원본 관리자] 창은 닫습니다.
      image
    9. [Visual Studio]를 실행하고 [Server Explorer]를 엽니다.
      image
    10. [Data Connections]를 마우스 오른쪽 버튼으로 클릭하고 [Add Connection]을 선택합니다.
      image
    11. [Data source]를 변경하기 위해 [Change…]버튼을 클릭합니다.
      image
    12. 아래 그림과 같이 [<other>]를 선택하고 [.NET Framework Data Provider for ODBC]를 선택하고 [OK]버튼을 클릭합니다.
      image
    13. 위에서 생성했던 DSN을 선택하고 ID와 Password를 입력합니다.
      image
    14. 마지막으로 [Text Connection] 버튼을 클릭하여 정상 연결되는지 확인합니다.
      image
    15. [OK] 버튼을 클릭하면 MySQL DB의 DB Connection이 추가됩니다.
      image

[출처 :http://nsinc.tistory.com/71]

'C# > Mysql' 카테고리의 다른 글

MySQL DB를 Visual Studio의 Server Explorer에 추가하기  (0) 2013.11.28

StrictMode

Android 2013.10.29 21:25

StrictMode

 

Android에서 오류를 검출해주는 방안 중의 하나로, 진입점에서 설정하면 실행하는 동안 이슈가 될 수 있는 부분들에 대하여 검출되며, 로그로 출력하거나 팝업을 띄울 수 도 있다.

보통 로그로 출력하게 해서 "StrictMode" 태그로 필터링 하면 확인할 수 있다.

메모리 Leak이나 Cursor가 Close되지 않은 부분 등 유용한 정보를 확인할 수 있어 개발 기간 동안 활성화 하면 도움이 된다.

 

보통 Activity나 Application 클래스 onCreate 메소드 내에서 설정, 디폴트로 할 경우 아래 코드 추가

 

StrictMode.enableDefaults();

 

 

자세한 내용은 정리된 사이트가 많아 링크로 대신한다.

 

Android developers blog

http://android-developers.blogspot.kr/2010/12/new-gingerbread-api-strictmode.html

KTH 개발 블로그 : 한글로 잘 설명됨

http://dev.kthcorp.com/2012/01/31/android-strict-mode-howto/

Reference of StrictMode class

http://developer.android.com/reference/android/os/StrictMode.html

[출처] StrictMode|작성자 이도운

'Android' 카테고리의 다른 글

StrictMode  (0) 2013.10.29
각종 안드로이드 인텐트 intent 사용법  (0) 2013.09.12

TIMESTAMP 특성

DB/Mysql 2013.10.17 15:10

How MySQL TIMESTAMP stroed in the database

MySQL TIMESTAMP 열(column)의 형식은 'YYYY-MM-DD HH:MM:SS'이며 19개 문자로 고정됨.

MySQL TIMESTAMP는 '1970-01-01 00:00:01'을 시작으로 초(second)를 4 byte의 숫자로 저장함.

4 byte의 수치에 대응되는 범위에 따라 TIMESTAMP는 '1970-01-01 00:00:01' ~ '2038-01-19 03:14:07'의 범위를 갖음.

 

MySQL TIMESTAMP 값은 connection's time zone에 종속적.

MySQL TIMESTAMP에 값을 입력할 때, 이 값은 connection's time zone에서 Universal Coordinated Time(UTC, 국제 표준시)로 변환됨.

값을 선택하면, server는 UTC에서 connection's time zone으로 변환하므로 입력했던 동일한 값을 얻음.

 

create table test_timestamp(t1 timestamp);

 

set time_zone='+00:00';

 

insert into test_timestamp values('2008-01-01 00:00:01');

 

select t1

from test_timestamp;

 


 

 

 

+---------------------+

| t1 |
+---------------------+
| 2008-01-01 00:00:01 |
+---------------------+
1 row in set (0.00 sec)

 



 

set time_zone='+03:00';

select t1
from test_timestamp;

 

 

 

+---------------------+

| t1 |
+---------------------+
| 2008-01-01 03:00:01 |
+---------------------+
1 row in set (0.00 sec)

 





INSERT and UPDATE TIMESTAMP column
만약 MySQL TIMESTAMP 값을 생략하거나 NULL을 입력한다면, 현재 TIMESTAMP는 자동적으로 입력됨. 이것은 MySQL TIMESTAMP의 자동 초기화 특성임.

다른 열의 값을 변경했을 때, MySQL TIMESTAMP는 현재 TIMESTAMP로 자동 갱신됨. TIMESTAMP가 갱신되기 위해선 현재의 값을 다른 값으로 변경하는 경우에만 갱신됨.

 

 

CREATE TABLE tbl_name(

created_on TIMESTAMP DEFAULT 0

changed_on TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

 

--

필드 지정시 날짜와 관련이 되면 이전부터 많이들 TIMESTAMP를 사용하였는데요
일단, 둘의 차이점을 알아봅시다
TIMESTAMP만의 특성입니다.

서버의 시간에 의존(UTC에 따라 변형된다는 의미로 해석하면 될 것 같네요)
범위가 '1970-01-01 00:00:01' UTC to '2038-01-09 03:14:07' UTC로 제한됨
on update CURRENT_TIMESTAMP 옵션을 사용할 수 있다.


이러한 차이는 쉽게 말하면
DATETIME는 순수하게 상수로 된 날짜로 인식하지만,
TIMESTAMP는 서버시간에 의한 의존하는 날짜 개념이죠.(서버 time zone 변경시, 바뀝니다)

해외서버를 사용한다면, 문제를 일으킬 수 있는 부분입니다.
국내에서만 사용 할 경우는 별다른 문제가 일어나지 않겠지요.(아마도??)

on update CURRENT_TIMESTAMP 이건, UPDATE시 시간도 업데이트 해주는건데, TIMESTAMP타잎에서만 사용할수 있습니다. 수정된 시간 저장시 매우 유용하게 사용할 수 있는 거죠.

반면에,
클라이언트의 시간을 서버에서 받아서 저장을 하다면, TIMESTAMP보다는 DATETIME을 사용을 권장하게 되겠네요.

등록시간은 DATETIME으로 잡고, 수정시간은 TIMESTAMP on update CURRENT_TIMESTAMP로 사용하면, 편할 거 같다는 생각이 듭니다. 물론 UTC나 timezone에 영향은 고려해야겠지요.

DATETIME
- 범위 : '1000-01-01 00:00:00' 에서 '9999-12-31 23:59:59'

TIMESTAMP[(M)]
- 범위 : '1970-01-01 00:00:00' 에서 2037

출처:http://jpss.ta3ke.com/59

 

'DB > Mysql' 카테고리의 다른 글

TIMESTAMP 특성  (0) 2013.10.17
Mysql 데이터 타입  (0) 2013.06.21
MySQL 기본 쿼리문 정리  (0) 2013.06.17