任何pre-req使用JSON.sql或步骤来安装JSON.sql?

时间:2014-07-04 09:14:47

标签: sql json sql-server-2008

我想在SQL Server 2008 R2实例上解析JSON中的字符串。

我在Phil上通过here阅读了这篇精彩的文章,并查看了this问题。

我从simpletalk网站下载了JSON.sql,并尝试在我的本地SQL Server实例上运行。

但是我遇到了错误 - (将其粘贴)

  

第15行,第1行,第1行,第1行   关键字“AS”附近的语法不正确。

     

Msg 102,Level 15,State 1,Procedure ToJSON,Line 6
  'READONLY'附近的语法不正确。

     

Msg 1087,Level 15,State 2,Procedure ToJSON,Line 67
  必须声明表变量“@Hierarchy”。

     

Msg 1087,Level 15,State 2,Procedure ToJSON,Line 90
  必须声明表变量“@Hierarchy”。

     

Msg 178,Level 15,State 1,Procedure ToJSON,Line 98
  带有返回值的RETURN语句不能在此上下文中使用。

     

Msg 102,Level 15,State 1,Procedure ToXML,Line 6
  'READONLY'附近的语法不正确。

     

Msg 1087,Level 15,State 2,Procedure ToXML,29行
  必须声明表变量“@hierarchy”。

     

Msg 1087,Level 15,State 2,Procedure ToXML,Line 43
  必须声明表变量“@hierarchy”。

     

Msg 1087,Level 15,State 2,Procedure ToXML,Line 47
  必须声明表变量“@hierarchy”。

     

Msg 1087,Level 15,State 2,Procedure ToXML,Line 53
  必须声明表变量“@hierarchy”。

     

Msg 178,Level 15,State 1,Procedure ToXML,Line 65
  带有返回值的RETURN语句不能在此上下文中使用。

在运行JSON.sql之前我还需要做什么吗?

编辑:当我使用SSMS检查SQL Server版本时....帮助 - >关于,它显示以下SQL Server 2008 R2

@marc_s建议使用@@ version命令检查版本。令人惊讶的是,这表明我的实例是SQL Server 2005.

知道会发生什么事吗?

1 个答案:

答案 0 :(得分:0)

您确定本地SQL Server实例至少是版本 2008 吗?

引入表值参数的地方(这似乎导致这些错误从提及READONLY关键字的错误判断)。

在您的实例上运行SELECT @@VERSION,查看您正在使用的引擎版本。您可能拥有管理工具 2008或2008 R2,但您的引擎可能仍然是SQL Server 2005 - 并且功能(如表值参数)实际上更多地取决于引擎而不是管理工具(大部分时间)。