【发布时间】:2016-02-18 09:50:51
【问题描述】:
我有一个 C# (.NET 4.5) SQL CLR(SQL Server 2012、Windows Server 2008 R2)。用户通过 RDP 登录以运行应用程序,该应用程序又调用此 CLR。
我正在尝试从 CLR 内部找出本地计算机名称或本地 IP 地址。
我已将整个环境从 CLR 转储到日志文件中,并且没有设置 CLIENTNAME 变量(这并不奇怪,因为它可能是 SQL 进程的环境而不是用户的环境),所以我不能使用它。
我尝试导入 Cassia DLL 并使用它,但是 TerminalServicesManager 类的 ClientIPAddress 为空,所以这似乎也不起作用。
有没有办法从 SQL CLR 获取本地计算机名称或 IP?
【问题讨论】:
-
当您说“本地”时,您的意思是客户端,而不是服务器端,对吗?这里的“本地”一词似乎有点模棱两可;)。是的,SQLCLR 在 SQL Server 的 CLR 主机内部运行,因此在服务器本身上运行。
-
@srutzky 是的,我的意思是客户端。
标签: c# .net sql-server clr sqlclr