changwoo

cwkang.egloos.com

포토로그 마이가든



perl : mssql 디비 접속하기 perl

틈틈히 시간을 내서 펄을 공부하고 있습니다.
진득하니 책을 보면서 차례로 공부를 해야 하겠지요.
그런데 이게 성격이 급해서 그런지 대충대충 하고 싶은 것만 보게 되네요.

odbc로 mssql디비와 연결하는 예제입니다.
요즘에는 odbc를 잘 안쓰는데 한글 자료가 별로 없군요.
영어는 딸려서 --;

일단 커맨드라인에서 cpan을 치고 install DBI를 입력해서 관련 모듈을 다운받아야 합니다.


 1 #!C:\istrawberry\perl\bin\perl.exe

 2

 3 use DBI;

 4

 5 $server = "(local)";

 6 $db = "temp";

 7 $uid = "sa";

 8 $pwd = "xxxx";

 9 $cn = "DBI:ODBC:Driver={SQL Server};server=$server; database=$db; uid=$uid; pwd=$pwd";

10 $db = DBI -> connect($cn);

11

12 $sql = "select * from dbo.programs";

13 $cmd = $db -> prepare($sql);

14 $cmd -> execute();

15

16 while ($rs = $cmd -> fetchrow_hashref()){

17     print $rs -> {"pID"} . "\t"

18         . $rs -> {"programID"} . "\t"

19         . $rs -> {"program"} . "\n";

20 }

21

22 $cmd -> finish();

23 $db -> disconnect();




트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://cwkang.egloos.com/tb/4460979 [도움말]

덧글

  • aero 2009/07/27 15:07 # 삭제 답글

    지나가다 글남깁니다.
    일단 윈도우용 펄에서 #!/usr/bin/perl 같은 일명 shebang line에 perl 바이너리의 path를 그대로 적을 필요가 없습니다. 윈도우에서는 저기있는 path로 perl 실행파일을 찾지 않습니다. 윈도우에서는 특정확장자를 어떤 실행파일을 통해 실행할 것인가( txt파일을 더블클릭하면 자동으로 notepad가 실행되어 열리는 것 처럼)같은 설정 하고만 관계있습니다.

    따라서 shebang line은 unix와 소스코드 호환을 위해 #!/usr/bin/perl 로 적어주는게 좋고 그것만으로 충분합니다.

    그리고 변수선언시 my,our,local로 확실히 변수의 유효범위를 지정해주는 것이 현대적인 Perl 프로그래밍 방법입니다.
    참고: http://aero.sarang.net/presentation/kpw2008_new_perl/
  • changwoo 2009/07/29 10:23 # 답글

    그렇군요.
    이제 책보고 공부하는 단계라서...
    조언 고맙습니다.
덧글 입력 영역