Bri*_*nKE 8 sql-server schema sqlclr visual-studio-2013 sql-server-data-tools
我正在使用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
Run Code Online (Sandbox Code Playgroud)
每个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].
Run Code Online (Sandbox Code Playgroud)
如果我将默认架构更改回'dbo',则项目将成功构建.我搜索了项目属性和Google,但找不到如何添加对'decASM'的引用.
Sol*_*zky 19
您还需要创建Schema,作为单独的SSDT对象.仅通过指定要将其用于SQLCLR对象,不会自动为您创建它.你应该能够:
decASM它将在您的项目中为此创建一个单独的SQL文件,其中包含一个命令CREATE SCHEMA [decASM],并在您发布SQLCLR代码时将其部署.
上面提到的步骤对我使用Visual Studio 2013很有用.
你将不得不设置Build Action来Build为好。否则错误会一直显示。
在下面的屏幕截图中,Selective.sql是我添加到我的项目中的 Schema 对象。点击F4属性窗口。
| 归档时间: |
|
| 查看次数: |
4955 次 |
| 最近记录: |