1. JDBC를 설치한다..
jdbc는 자바 디비 커넥터 약자로... 자바에서 해당 디비 프로그램에 연결하려면 필요하다
mssql용 jdbc는 http://msdn.microsoft.com/en-us/data/aa937724.aspx 여기에서 받을수 있다..
압축을 푼후 폴더를 열어보면 sqljdbc.jar 와 sqljdbc4.jar 가 나오는데
본인이 jre6.0이상이면 sqljdbc4.jar 를.. 그 이하이면 sqljdbc.jar 를 사용하면 되는데
해당 파일을 jre폴더\lib\ext 에 복사해주면 아주 잘 작동한다.. 둘다 복사하지 말고 자신에 맞는것만 복사하자..

2. 자바 코딩
모든 jdbc 커넥터가 그렇듯.. 일단 드라이버 클래스를 읽어야한다.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
이 한줄이면 클래스를 찾은후에 드라이버 리스트에 자동등록되게 된다..
원하는 디비에 연결하려면
DriverManager.getConnection("jdbc:sqlserver://서버이름[:포트][;옵션=값[;추가옵션=값]]")
이런 형식을 따르게 된다..
예를 들어 자신컴퓨터에 윈도우계정인증으로 접속할경우
jdbc:sqlserver://localhost;intergratedSecurity=true
자신컴퓨터에 지정된 계정과 비번을 쓸 경우
jdbc:sqlserver://localhost;user=아이디;password=암호
포트가 다를경우
jdbc:sqlserver://localhost:1234;user=아이디;password=암호
대강 이런식으로 하면된다..

이 다음부턴 다른 자바 디비 프로그래밍과 동일하다..

3. 접속이 안될경우.. http://msdn.microsoft.com/ko-kr/library/ms378845(SQL.90).aspx
나의 경우 sql서버 기본포트 1433으로 접속되지 않아 삽질을 했는데
일단 sql서버 설정 관리자에서
SQLServer네트워크구성 -> 프로토콜 -> TCP/IP 를 사용으로 변경해 주고
IP 주소 탭에서, IPALL부분의 TCP포트를 1433으로 직접 적어주어야 sql서버에서 잘 대기하게 된다..
1433가 기본값이라곤 하는데 Visual Stduio 2008을 깔면서 자동으로 같이 깔리면서 설정이 마음대로 바뀌어서 설치된듯하다..

4. SQL Server Management Studio Express
만약 visual studio 2008 설치하면서 sqlserver2005가 깔렸다면 따로 db관리 프로그램이 설치되지 않았을것이다..
이 프로그램으로 편하게 관리하길 http://go.microsoft.com/fwlink/?LinkId=65110
Posted by orange code
컴퓨터 프로그래밍2008. 12. 25. 18:14
class Data
{
  public int Item;
  public override string ToString()
  {
    return item.ToString();
  }
}

Data data = new Data();
data.Item = 10;
listBox1.Items.Add(data);
위와 같은 코드를 실행하면 리스트에 10이 잘 나오지만.. 후에 data의 item을 변경해도 리스트에서는 변하지 않는 것을 볼수 있습니다.. 이 것을 해결하려면

속성창에서 DrawMode를 OwnerDrawFixed로 변경하고, DrawItem 이벤트에 대한 함수를 만들고
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
  e.DrawBackground();
  e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font,
    new SolidBrush(e.ForeColor), e.Bounds);
  e.DrawFocusRectangle();
}
이렇게 하면 변경된 값을 제대로 보여주게 됩니다..
주의할점은 리스트가 자동으로 다시 그려지지 않기 때문에.. 아이템의 값이 변경된후에 listBox1.Invalidate()를 호출하여서 다시 그리게 하여야합니다..

'컴퓨터 프로그래밍' 카테고리의 다른 글

C#, 윈도우 시스템 폴더 주소 가져오기  (1) 2009.12.14
WM_MOUSEWHEEL 메시지 받기  (0) 2009.11.17
.NET의 Type Reflection  (0) 2008.10.30
Posted by orange code

버텍스,픽셀 쉐이더에 입문하기 위해서 .fx파일을 작성하는데.. 이걸 C#+MDX에서 읽으려는데 방법을 몰라 그냥 무작정 해봤습니다....

.fx로 작성된 파일은 Effect.FromFile 메서드로 읽어올수 있습니다.. 그러면 Effect 객체를 얻을수 있는데.. 이놈으로 그 효과를 볼수있습니다.. 그런데 이 메서드가 좀 이상한게 주소에 한글이 들어가 있으면 파일을 제대로 찾지를 못합니다.. 그래서 저는 StreamReader.ReadToEnd로 모조리 읽은 다음에 Effect.FromString으로 해결했습니다.. 이건 잘되네요..
string source = new StreamReader("파일이름").ReadToEnd();
Effect effect = Effect.FromString(device, source, null, null, ShaderFlags.None, null);
옵션은 그냥 전부 기본값으로 채웠습니다..

이렇게 읽어온 이펙트는 이렇게 씁니다..
effect.Technique = "technique1"; // 테크닉 이름을 선택합니다..
int passes = effect.Begin(FX.None);
for (int pass = 0; pass < passes; pass++)
{
    effect.BeginPass(pass);
    // 여기에 이펙트가 적용될 놈들 그리기
    effect.EndPass();
}
effect.End();

사실 쓰는데는 큰 어려운건 없는데 검색하려니까 잘 안나와서.. 직접해보고 간단히 정리해봅니다..

'컴퓨터 프로그래밍 > Direct3D' 카테고리의 다른 글

Direct3D projection Effect  (0) 2009.12.02
3DS Viewer 만들기 (미완성)  (0) 2008.10.30
Posted by orange code