changwoo

cwkang.egloos.com

포토로그 마이가든



ms-sql 맥어드레스 mssql

클라이언트에서 별도로 api를 사용할 필요가 없이, ms-sql에서는 맥어드레스가 걍 바로 나오는군요.
sysprocesses테이블에 net_Address가 그것입니다.

select * from master.dbo.sysprocesses해보면
net_Address란 컬럼이 리턴되는데
그게 맥어드레스입니다.
물론 리턴되는 값은 사이사이에 하이픈이 없이
00130288FFB7
요런 형식으로 리턴됩니다.

걍 디비단에서 중복로그인을 체크하려면 이렇게 하시면 됩니다.


  1 select @netAddress=net_address

  2 from master.dbo.sysprocesses

  3 where spid=@@spid

  4

  5 if exists(select *

  6           from master.dbo.sysdatabases d

  7           inner join master.dbo.sysprocesses p on d.dbid=p.dbid

  8           inner join dbo.users u on p.net_Address=u.macAddress

  9           where d.name=db_name()

 10             and p.net_address<>@netAddress

 11             and u.userID=@userID) begin

 12     raiserror('이미 다른 곳에서 접속중인 아이디입니다.', 16, 1)

 13     return

 14 end



전체 코드는 여기에 있습니다.


트랙백

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

덧글

덧글 입력 영역