Sqlclr 尝试从sql CLR内部执行sql时出错

Sqlclr 尝试从sql CLR内部执行sql时出错,sqlclr,Sqlclr,我有以下代码: [SqlFunction(DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read)] public static int GetInt() { int retValue = 0; using (SqlConnection conn = new SqlConnection("context connection = true"))

我有以下代码:

[SqlFunction(DataAccess = DataAccessKind.Read, SystemDataAccess = SystemDataAccessKind.Read)]
    public static int GetInt()
    {
        int retValue = 0;
        using (SqlConnection conn = new SqlConnection("context connection = true"))
        {
            conn.Open();
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select MyInt from SomeTable";
            object timeOut = cmd.ExecuteReader(); // <- error happen here

        }
        return retValue;

    }
{“此语句试图访问其访问受程序集限制的数据。”}


我需要添加DataAccess=DataAccess。读取函数属性才能这样做。

作为旁注,如果您试图访问使用
创建的临时表,例如
\tmp
,您还需要输入
SystemDataAccess=SystemDataAccess.Read
。另一种解决方法是使用公共表表达式获取数据。

这不再是问题,我解决了!
cmd.ExecuteReader();