从程序集中获取“父”数据库的名称

时间:2013-06-14 17:37:17

标签: c# .net sql-server .net-4.0 sqlclr

我有一个用c#(.NET4)编写的SQL CLR存储过程。其目的是允许SQL Server 2012数据库中的表上的触发器调用Web服务,然后该Web服务处理该表中的数据。

但是,有几个不同的数据库都将使用此程序集触发。我的Web服务需要知道哪个数据库触发了对它的调用,以便知道从哪里获取数据。

我可以简单地向我的存储过程添加一个参数,但我想从数据库端保持简单。在.NET中,有没有办法获取有关程序集附加到的数据库的信息?

1 个答案:

答案 0 :(得分:2)

Aah,找到了一个:

这仍然打开了与数据库的上下文连接,但它是我能看到的唯一方式。

using (SqlConnection conn = new SqlConnection("context connection=true"))
{
    conn.Open();
    string dbName = conn.Database
}

那来自MSDN article。另外,关于Context Connection的MSDN文章。

相关问题