我有以下代码:
[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;
}
我在
中收到以下异常cmd.ExecuteReader();
{“此语句试图访问其访问受程序集限制的数据。”}
答案 0 :(得分:8)
作为旁注,如果您尝试访问使用#
创建的临时表,例如#tmp
,则还需要输入SystemDataAccess = SystemDataAccess.Read
。另一种方法是使用公用表表达式来获取数据。
答案 1 :(得分:6)
我需要将DataAccess = DataAccess.Read添加到函数属性中才能执行此操作。