首页 > 解决方案 > 使用程序集从 SQL DB 中检索表数据

问题描述

好吧,所以使用 C# 我正在创建一个我在 SSMS 中使用的 DLL,并将其作为程序集附加以执行一些任务,我可以很好地创建/使用 DLL,但我无法从 DLL 访问数据库以提取数据. 如果我在 C# 中创建一个表单来访问数据,我会做这样的事情

  public class Gaps
{

    public static void Find_Gaps1()
    {
        SqlConnection connection = new SqlConnection("Server = DIS; Database = dyn35;  Integrated Security = true");
        DataTable FinishDT = new DataTable();
        SqlDataAdapter adapter = new SqlDataAdapter();
        String SQLstatement = "SELECT [new_cust] FROM [Dyn35].[dbo].[Account] WHERE [new_cust] IS NOT NULL AND ISNUMERIC([new_cust]) = 1 ORDER BY [new_cust]";
        connection.Open();
        SqlCommand command = new SqlCommand(SQLstatement, connection);
        command.CommandTimeout = 0;
        adapter.SelectCommand = command;
        adapter.Fill(FinishDT);
        connection.Close();
    }

}

然后我可以轻松地操作数据表中的数据。我不能作为 DLL 执行此操作,因为它会引发错误,说明我不能。有人知道如何使用 t-sql 将数据从查询发送到 DLL 吗?或者指出我正确的方向?我正在创建的存储过程位于我试图访问的同一个数据库中。

标签: c#sqlclr

解决方案


是的,我相信这是一个凭证问题 jdweng,一旦我设置了 sql 连接上下文 connection = true,它就可以流畅地运行了!

SqlConnection connection = new SqlConnection("context connection = true");

推荐阅读