我在尝试这个;
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ExportXML_v1_2(string file_path, string file_name, string xml_data, out int status, out string error_messages)
{
string Folder1 = file_path;
string xml = xml_data;
error_messages = "";
status = 0;
try
{
if (!Directory.Exists(Folder1))
{
Directory.CreateDirectory(Folder1);
}
我得到了这个错误;
System.Security.SecurityException:请求类型为“System.Security.Permissions.FileOpermission,mscorlib,Version=4.0.0.0,Culture=Neutral,PublicKeyToken=B77A5C561934E089”得权限失败。StoredProcedures.ExportXML_V1_2(String file_path,String file_name,String xml_data,Int32&status,String&error_messages)中的System.SecurityCodeAccessSecurityEngine.Check(Object demand,StackCrawlMark&stackMark,Boolean isPermSet)中的System.Security.CodeAccessPermission.demand()
失败的操作为:Demand失败的第一个权限的类型
为:System.Security.Permissions.FileIopermission
失败的程序集的区域为:MyComputer
您需要用PERMISSION_SET=external_access将程序集标记为。为了做到这一点,您需要:
- 为程序集签名
- 在主服务器中创建非对称密钥
- 从该非对称密钥创建登录
- 授予该登录名
外部访问程序集
权限
当然,根据您是否使用Visual Studio/SSDT,特别是根据SQL Server2017中最近引入的更改,您可能会在如何执行此操作方面有一些变化。有关详细信息,请参阅我撰写的两篇博文,其中详细介绍了实现这一目标的两种方法,一种是在Visual Studio中完全自动化,另一种是在SQL Server 2017的新“CLR严格安全”约束下工作:
- SQLCLR与SQL Server 2017,第2部分:“CLR严格安全性”-解决方案1
- SQLCLR与SQL Server 2017,第3部分:“CLR严格安全性”-解决方案2
此外,在使用SQLCLR时,不应将
string
类型用作输入/输出参数类型。您应该使用适当的SQL*
类型,在本例中是SQLString
。然后,通过value
属性获取实际的字符串值。对于xml_data
参数,使用sqlxml
类型,因为您可以从它创建一个XmlReader
,这不仅会稍微快一点,而且还可以更好地处理编码的更改(最有可能是UTF-8),以及正确处理顶部的
public static void ExportXML_v1_2(SqlString file_path, SqlString file_name,
SqlXml xml_data, out int status, out SqlString error_messages)
{
if (file_path.IsNull)
{
error_messages = "@file_path cannot be NULL.";
return;
}
string Folder1 = file_path.Value;
有关一般使用SQLCLR的更多信息,请参阅我正在编写的有关SQL Server Central:Stairway to SQLCLR(特别是Level 5)的系列文章。
此外,SQL#(我编写的)中还提供了FWIW函数,该函数将XML保存到文件中,处理格式化(例如缩进等),追加与覆盖以及编码(包括在
声明中指定)。这个函数是XML_SaveToFile,虽然许多函数在免费版本中可用,但是这个特定的函数只有在完整(即付费)版本中可用。
我想在GitHub资源库中创建一个文件夹,并想在该文件夹中添加文件。我如何实现这一点?
我使用Maven构建了一个Jar。我试图实现的行为是:当用户使用命令create时,我想在JAR的一个文件夹中存储一个XML文件。有可能做到吗? 假设这是一个项目,我将迁移工具的jar添加到其中。我希望能够看到和编辑属性文件
迁移到Android Q后,我再也找不到合适的方法来获得对documents文件夹()的写访问权限 null null
这可以通过元数据实现吗?当在父文件夹中创建一个新文件/文件夹时,我是否也可以通过编程方式更新父文件夹的元数据,以便说:“嘿,在这个文件夹中有这些特定的文件?”
问题内容: 我的一位客户要求为成千上万种不同格式(例如pdf,doc,docx等)的文档提供文档管理系统。我的问题是在数据库或文件系统中存储此文件的最佳方法是什么?两种方法之间如何轻松保护文档? 快速检索文件是关键要求。 我正在使用mysql如果有帮助 问候。 问题答案: 您可能希望将其直接存储到文件系统中。 使用文件系统时,请注意: 机密性: 将文档放在Apache文档根目录之外。然后,您的PH
问题内容: 我试图在我的android应用中的所有视图中始终使用相同的尺寸(例如,左边界为20dp)。如果我使用的是HTML,我只会使用CSS文件,但是我对如何在Android上执行此操作一无所知。 有没有一种方法可以将该值存储在res / values中的xml文件中,然后在布局中使用它? 例如,我想像将它们存储在strings.xml中 然后在layout.xml中使用以下文本 但我不确定它是
我想在我新创建的GitHub存储库中添加一个新文件夹,而不安装用于(Mac、Linux和Windows)的Git设置。有可能这样做吗? 当我在不同的系统/机器上工作时,我不能让Git一直陪伴在我身边。我知道如何在上的存储库中直接添加文件。我们也可以创建一个文件夹吗?
是否有方法通过使用azure函数备份cosmos DB并将.JSON文件保存在azure blob存储中