标签: sql-server-2014

使用 ODBC 连接到 SQL SERVER 时,SSRS 错误必须声明标量变量

我有一个 SSRS 数据集查询,其中包含一个名为 BENEFIT 的单值参数。我的数据源是 SQL SERVER 2014:以下查询给出错误“错误 [42000] [Microsoft][SQL Server Native Client 10.0][SQL Server]必须声明标量变量“@BENEFIT”。

SELECT  c.BENEFIT  FROM  CLAIM AS c
WHERE c.DOWNLOAD_DATE > '20150701' AND c.BENEFIT = (@ BENEFIT)
Run Code Online (Sandbox Code Playgroud)

该错误仅在使用 ODBC 连接时存在,使用直接连接就会消失。如果没有参数,查询将使用任一连接方法正确解析。

任何想法表示赞赏。

谢谢,阿拉斯代尔

parameters odbc dataset reporting-services sql-server-2014

4
推荐指数
1
解决办法
4701
查看次数

SP_RENAME 导致“无效列名”问题

我说“问题”是因为它没有破坏任何东西,这只是我在 SSMS 中注意到的一件小事情。

我运行以下命令:

SP_RENAME 'MyTable.OldName', 'NewName' , 'COLUMN'

然后在 SSMS 中键入以下内容:

SELECT [NewName] FROM MyTable;

现在,该[NewName]部件下方有一条红色波浪线,并带有“无效的列名称”警告。

为什么?旧名称是否以某种方式缓存在 SSMS 中?我的列重命名是否不完整?我真的不在乎这是否是 SSMS 的错误,但我想知道重命名列后我不应该执行“第 2 步”。

注意:如果我输入,SELECT [OldName] FROM MyTable;我不会收到警告,但它(显然)不会运行。

database ssms sp-rename sql-server-2014

4
推荐指数
1
解决办法
1560
查看次数

SSIS:脚本任务(vs15)在sql server 2014上部署时不起作用

错误:

从XML加载脚本任务时出现异常:System.Exception:脚本任务使用此版本的Integration Services不支持的14.0版脚本.要运行包,请使用"脚本任务"创建新的VSTA脚本.在大多数情况下,当您在%SQL_PRODUCT_SHORT_NAME%Integration Services中打开SQL Server Integration Services包时,脚本会自动转换为使用受支持的版本.在Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML(XmlElement elemProj,IDTSInfoEvents事件)

我正在做它所说的,但它没有帮助.

有解决方案吗

ssis vsta sql-server-2014 visual-studio-2015

4
推荐指数
2
解决办法
2万
查看次数

最新的 SSDT 与 SQL Server 2014 的 SqlPackage 不兼容

我们的一个构建服务器刚刚更新到最新的“用于数据库工具的 Microsoft SQL Server 更新”(版本 12.0.60629.0),现在与我们拥有的 SqlPackage.exe 版本不兼容(在 C:\Program Files (x86) 中) \Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\SqlPackage.exe)。SQL Server 数据库项目(针对 SQL Server 2014)构建没有错误,但是当我们尝试使用 SqlPackage.exe 将 .dacpac 部署到目标服务器时,我们收到以下错误:

The Element or Annotation class PersistedResolvableAnnotation does 
    not contain the Property class Length.
Run Code Online (Sandbox Code Playgroud)

果然,将 model.xml 文件(在 .dacpac 内)与最新版本的成功构建进行比较,我在一些 Annotation 元素下看到了额外的“Length”和“Offset”属性:

<Annotation Type="PersistedResolvableAnnotation" Name="[$(MyLinkedServer)].[$(MyDatabase)]|[dbo].[SomeTableName]">
    <Property Name="TargetTypeStorage" Value="ISqlSynonymTarget" />
    <Property Name="Length" Value="63" />
    <Property Name="Offset" Value="37" />
</Annotation>
Run Code Online (Sandbox Code Playgroud)

这些构建服务器只有 Visual Studio 2012 和 2013,而不是2015。很明显,这个最新的 SSDT 更新破坏了与 SqlPackage 的兼容性(并且网上还有其他迹象表明同一问题),但我的问题是:我该如何解决它?

我宁愿不尝试降级到以前的 SSDT 版本,但会在必要时这样做。我应该安装最新的数据层应用程序框架并改用其 …

sql-server sql-server-2014 sqlpackage sql-server-data-tools

4
推荐指数
1
解决办法
2722
查看次数

获取 SQL Server 中查询的列名

假设我在 SQL 2014 中有一个查询:

SELECT EmployeeName, EmployeeAddress, EmployeeAge FROM dbo.Employee
Run Code Online (Sandbox Code Playgroud)

我想动态地进行查询、循环并获取EmployeeNameEmployeeAddress和 等列的名称EmployeeAge

我需要这个,因为我可以有另一个与此不同的查询,我还需要获取列名。

sql-server sql-server-2014

4
推荐指数
1
解决办法
6880
查看次数

如何在 SQL Server 2014 中的 XML 的根中添加 xmlns

我正在尝试在 SQL Server 2014 的 XML 的根元素中添加xmlns MsgDtTm&MessageId属性。我正在尝试这个:

declare @TEMP table (ID nvarchar(max), Name nvarchar(max))
declare @count int =0
WHILE @count < 4 
BEGIN  
   declare @name nvarchar(20),@id nvarchar(max)
   select @name= SUBSTRING(CONVERT(varchar(255), NEWID()), 0, 7)
         ,@id= CHAR(ROUND(RAND() * 93 + 33, 0))
   insert into @TEMP values(@id,@name)
   set @count= @count +1
END  

declare @msgId nvarchaR(24)
SET @msgId='11EXP'+REPLACE(convert(varchar(10),getdate(),103),'/','')+'1'
DECLARE @Xml xml
SET @Xml = (select * from @TEMP for xml path('DefaultName'), type)
;WITH XMLNAMESPACES (DEFAULT 'http://abc.go.com')
select GETDATE() as …
Run Code Online (Sandbox Code Playgroud)

xml sql sql-server sql-server-2008-r2 sql-server-2014

4
推荐指数
1
解决办法
4055
查看次数

在动态数据透视表中对月份名称进行排序

我使用以下查询生成了一个动态数据透视表,它可以工作,但列 (monthyear) 是按字母顺序排列的,但我希望它们按时间顺序排列 Monthyear 列是使用 SQL Server 2014 中的函数派生的

CREATE TABLE ##MyTable (Num VARCHAR(10),    StartDate DATE, [Types] VARCHAR(10))
INSERT INTO ##MyTable VALUES
('AA1','2016-01-01', 'Type1'),('AA2','2017-01-04', 'Type1'),('AA3','2016-01-04', 'Type1'),('AA4','2017-01-01', 'Type2'),
('AA5','2017-01-10', 'Type3'),('AA6','2016-01-02', 'Type1'),('AA7','2017-01-05', 'Type1'),('AA8','2016-01-12', 'Type1'),
('AA9','2016-01-06', 'Type1'),('AA10','2016-01-10', 'Type3'),('AA11','2017-01-11', 'Type1'),('AA12','2016-01-09', 'Type2'),
('AA13','2016-08-06', 'Type3'),('AA14','2017-01-02', 'Type1'),('AA15','2016-01-05', 'Type1'),('AA16','2017-01-07', 'Type1'),
('AA17','2016-01-04', 'Type1'),('AA18','2017-01-03', 'Type3'),('AA19','2017-01-01', 'Type1'),('AA20','2016-01-10', 'Type2'),
('AA21','2018-01-02', 'Type3'),('AA22','2017-01-10', 'Type1'),('AA23','2017-01-11', 'Type1'),('AA24','2017-01-12', 'Type1'),
('AA25','2017-01-09', 'Type1'),('AA26','2017-01-03', 'Type3'),('AA27','2016-01-07', 'Type1'),('AA28','2017-01-03', 'Type3'),
('AA29','2016-01-09', 'Type3'),('AA30','2017-10-12', 'Type1'),('AA31','2016-01-08', 'Type1'),('AA32','2017-01-10', 'Type1'),
('AA33','2016-01-04', 'Type1'),('AA34','2016-01-03', 'Type1'),('AA35','2018-01-01', 'Type3'),('AA36','2016-01-12', 'Type3'),
('AA37','2017-01-12', 'Type1'),('AA38','2016-01-05', 'Type1'),('AA39','2017-01-01', 'Type1'),('AA40','2017-01-12', 'Type3'),
('AA41','2017-01-07', 'Type1'),('AA42','2017-01-04', 'Type3'),('AA43','2018-01-03', 'Type1'),('AA44','2016-01-08', 'Type1'),
('AA45','2016-09-10', 'Type1'),('AA46','2016-01-11', 'Type3'),('AA47','2017-01-10', …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2014

4
推荐指数
2
解决办法
1197
查看次数

查看递归表SQL上的级别编号

我有下表:

--------------------------------------------
ID      ParentID     Item  
--------------------------------------------
1                    root
2       1            AA
3       1            BB
4       1            CC
5       1            DD
6       2            A1
7       6            A11
ff.
Run Code Online (Sandbox Code Playgroud)

我希望得到以下结果:

ID      ParentID     Item         Level
---------------------------------------------
1                    root         0
2       1            AA           1
3       1            BB           1
4       1            CC           1
5       1            DD           1
6       2            A1           2
7       6            A11          3
ff.
Run Code Online (Sandbox Code Playgroud)
  1. 创建新列的最佳想法是什么level?是创建一个新列并添加一个公式或类似计算或可能的函数?
  2. 我怎样才能实现这一目标t-sql

谢谢.

sql t-sql sql-server-2014

4
推荐指数
1
解决办法
93
查看次数

视图与索引视图或物化视图的区别

我对这两者感到困惑,并试图找出差异,但没有得到我正在寻找的特定内容。

  • 在哪里使用索引视图而不是普通视图。
  • 它们之间的一些重要区别。

sql sql-server sql-server-2014

4
推荐指数
1
解决办法
7801
查看次数

SELECT TOP 2 MAX Value Group By SQL

我有下表:

-----------------------------------------
xDate        xItem       xCount
-----------------------------------------
2018-01-01   A           100
2018-01-01   B           200
2018-01-01   D           500
2018-01-02   C           200
2018-01-02   E           800
Run Code Online (Sandbox Code Playgroud)

我想在 xCount 字段的 MAX 值上为每个日期选择 TOP 2 值。所以,结果应该是:

-----------------------------------------
xDate        xItem      xCount
-----------------------------------------
2018-01-01   D          500
2018-01-01   B          200
2018-01-02   E          800
2018-01-02   C          200
Run Code Online (Sandbox Code Playgroud)

有没有人对此案有想法?
干杯,

sql t-sql sql-server group-by sql-server-2014

4
推荐指数
1
解决办法
1566
查看次数