由于SQL语法错误,SENSENET 6.5.2.8421从程序包安装失败

时间:2016-01-07 02:59:48

标签: sql-server-2008 sensenet

我有以下堆栈:

  • .NET 4.5.1
  • IIS 7.5
  • MSSQL SERVER 2008 EXPRESS SP 4
  • VISUAL STUDIO 2013更新5
  • Windows 2007 SP1
  • SENSENET 6.5.2.8421

我尝试使用IIS中的deploy选项安装SENSENET导入软件包,但在创建数据库时会显示:

  Microsoft.Web.Deployment.DeploymentDetailedClientServerException: Error durante la ejecución del script de la base de datos. El error ocurrió entre las siguientes líneas del script: "1061" y "1201". El registro detallado podría tener más información acerca del error. El comando comenzaba con lo siguiente:
"IF NOT EXISTS (SELECT * FROM sys.views WHERE objec"
 Sintaxis incorrecta cerca de '!'. http://go.microsoft.com/fwlink/?LinkId=178587  Obtenga más información en: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_SQL_EXECUTION_FAILURE. ---> System.Data.SqlClient.SqlException: Sintaxis incorrecta cerca de '!'.
   en System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   en System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   en System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   en System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
   en System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   en System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   en Microsoft.Web.Deployment.DBStatementInfo.Execute(DbConnection connection, DbTransaction transaction, DeploymentBaseContext baseContext, Int32 timeout)
   --- Fin del seguimiento de la pila de la excepción interna ---
   en Microsoft.Web.Deployment.DBStatementInfo.Execute(DbConnection connection, DbTransaction transaction, DeploymentBaseContext baseContext, Int32 timeout)
   en Microsoft.Web.Deployment.DBConnectionWrapper.ExecuteSql(DBStatementInfo sqlStatement, DeploymentBaseContext baseContext, Int32 timeout)
   en Microsoft.Web.Deployment.SqlScriptToDBProvider.AddHelper(DeploymentObject source, Boolean whatIf)
   en Microsoft.Web.Deployment.SqlScriptToDBProvider.Add(DeploymentObject source, Boolean whatIf)
   en Microsoft.Web.Deployment.DeploymentObject.AddChild(DeploymentObject source, Int32 position, DeploymentSyncContext syncContext)
   en Microsoft.Web.Deployment.DeploymentSyncContext.HandleAddChild(DeploymentObject destParent, DeploymentObject sourceObject, Int32 position)
   en Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
   en Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
   en Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
   en Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
   en Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
   en Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable`1 syncPassId, String syncSessionId)
   en Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
   en Microsoft.Web.Deployment.DeploymentObject.SyncTo(String provider, String path, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
   en Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentWellKnownProvider provider, String path, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
   en Microsoft.Web.Deployment.UI.InstallProgressWizardPage.OnWorkerDoWork(Object sender, DoWorkEventArgs e)
   en System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   en System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

显然,安装失败了。

1 个答案:

答案 0 :(得分:1)

原因很可能是您的SQL Server版本中没有的SQL方法(IIF)。您可以尝试在较新的服务器上安装SenseNet,也可以下载较新的SensNet软件包,因为在下一个版本( 6.5.3 + )中,上面的脚本已转换为与旧的SQL服务器兼容。