PDA

View Full Version : سوال: خطلای Request for the permission of type 'System.Security.Permissions.FileIOPermission... برای چی ه



zhr.rezae66i
سه شنبه 17 اردیبهشت 1392, 11:31 صبح
سلام
تابع ساختم در دات نت
و میخام در sql فراخوانی بشه
فانکشنش در لیست scalare fun ها دیده میشه
بازگشتی فانکشنم ی رشته varchar max هست.
موقع فراخوانی error زیر رو میگیره


Msg 6522, Level 16, State 1, Line 3
A .NET Framework error occurred during execution of user-defined routine or aggregate "funcGetFilesFromDirectory":
System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
System.Security.SecurityException:
at System.Security.CodeAccessSecurityEngine.Check(Obj ect demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessPermission.Demand()
at System.IO.DirectoryInfo.Init(String path, Boolean checkHost)
at ReadFiles_AFTN.ReadFiles_.GetFilesFromDirectory() منون میشم بازم راهنماییم کنید



به این ربط داره
یه جور اجازه دادن برای خواندن شاید
اما چطور این اجازه رو بدم نمیدونم
لطفا اینو http://stackoverflow.com/questions/11457926/fileiopermission-exception-on-a-shared-server-with-trust-levels-disabled-by-the نگاه کنید ببینید میشه کاری کرد

zhr.rezae66i
چهارشنبه 18 اردیبهشت 1392, 11:11 صبح
سلام
من مشکلم حل شد
مینویسم شاید کسی بش نیاز پیدا کنه
1- باید به اسمبلی اجازه دسترسی به فایل خارجی رو بدی
create ASSEMBLY ReadFiles_N
FROM 'C:\N_CLR\ReadFiles_N.dll'
WITH PERMISSION_SET = EXTERNAL_ACCESS
GO
بعدش ممکنه باز خطا بده
که باید این دو تا query روهم براش اجرا بگیرید
ALTER DATABASE PortSET TRUSTWORTHY ON;
EXEC sp_changedbowner 'sa'