我有一个用c#(.NET4)编写的SQL CLR存储过程。其目的是允许SQL Server 2012数据库中的表上的触发器调用Web服务,然后该Web服务处理该表中的数据。
但是,有几个不同的数据库都将使用此程序集触发。我的Web服务需要知道哪个数据库触发了对它的调用,以便知道从哪里获取数据。
我可以简单地向我的存储过程添加一个参数,但我想从数据库端保持简单。在.NET中,有没有办法获取有关程序集附加到的数据库的信息?
答案 0 :(得分:2)
Aah,找到了一个:
这仍然打开了与数据库的上下文连接,但它是我能看到的唯一方式。
using (SqlConnection conn = new SqlConnection("context connection=true"))
{
conn.Open();
string dbName = conn.Database
}
那来自MSDN article。另外,关于Context Connection的MSDN文章。