sql-server – VS SQLCLR:函数X具有未解析的模式Y引用
发布时间:2020-12-12 06:43:51 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用Visual Studio 2013创建一个新的SQL CLR,并且在Project Properties中将Default Schema设置为’decASM'(是’dbo’).当我进行此更改并重建项目VS时,生成一个sql文件,如下所示: -------------------------------------------------------------------
我正在使用Visual Studio 2013创建一个新的SQL CLR,并且在Project Properties中将Default Schema设置为’decASM'(是’dbo’).当我进行此更改并重建项目VS时,生成一个sql文件,如下所示:
-------------------------------------------------------------------------------- -- This code was generated by a tool. -- -- Changes to this file may cause incorrect behavior and will be lost if -- the code is regenerated. -------------------------------------------------------------------------------- CREATE FUNCTION [decASM].[ExecFoxPro_SayHello] (@name [nvarchar](MAX)) RETURNS [nvarchar](MAX) AS EXTERNAL NAME [dcFoxProAssy].[UserDefinedFunctions].[ExecFoxPro_SayHello]; GO CREATE FUNCTION [decASM].[GetAllowedPaths] (@serviceUrl [nvarchar](MAX)) RETURNS [nvarchar](MAX) AS EXTERNAL NAME [dcFoxProAssy].[UserDefinedFunctions].[GetAllowedPaths]; GO CREATE FUNCTION [decASM].[GetTableRowCount] (@serviceUrl [nvarchar](MAX),@foxProPath [nvarchar](MAX),@tableName [nvarchar](MAX)) RETURNS [nvarchar](MAX) AS EXTERNAL NAME [dcFoxProAssy].[UserDefinedFunctions].[GetTableRowCount]; GO 每个CREATE FUNCTION调用都有一个错误: Error 1 SQL71501: Function: [decASM].[ExecFoxPro_SayHello] has an unresolved reference to Schema [decASM]. Error 2 SQL71501: Function: [decASM].[GetAllowedPaths] has an unresolved reference to Schema [decASM]. Error 3 SQL71501: Function: [decASM].[GetTableRowCount] has an unresolved reference to Schema [decASM]. 如果我将默认架构更改回’dbo’,则项目将成功构建.我搜索了项目属性和Google,但找不到如何添加对’decASM’的引用. 解决方法您还需要创建Schema,作为单独的SSDT对象.仅通过指定要将其用于SQLCLR对象,不会自动为您创建它.你应该能够:>在项目的任何位置添加新项目(控制班次A) 它将在您的项目中为此创建一个单独的SQL文件,其中包含一个命令CREATE SCHEMA [decASM],并在您发布SQLCLR代码时将其部署. 上面提到的步骤对我使用Visual Studio 2013很有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |