创建用户定义的函数,使用smo返回XML

时间:2017-12-12 14:52:16

标签: c# sql xml smo

我正在尝试创建一个返回XML的UDF

Server s = new Server();
Microsoft.SqlServer.Management.Smo.Database db = s.Databases["EDI"];
UserDefinedFunction udf = new UserDefinedFunction(db, "fxx");
udf.Schema = "dbo";
udf.TextMode = false;
udf.FunctionType = UserDefinedFunctionType.Scalar;
udf.ImplementationType = ImplementationType.TransactSql;

udf.DataType.SqlDataType = SqlDataType.Xml;
udf.DataType = DataType.Xml("Xml");        
udf.TextBody = "begin \r\n\t return '<root>test</root>' End;";
try {
    udf.Create();
} catch (Exception ex) {

    Debug.WriteLine(ex.Message);
}

并抛出异常

  

元数据中不存在指定的集合:&#39; Xml&#39;

我做错了什么?

1 个答案:

答案 0 :(得分:0)

udf.DataType = DataType.Xml(&#34;&#34;)解决了问题..