SQLDMO - [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]'*'附近语法不正确

SQLDMO - [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]'*'附近语法不正确

问题描述:

我目前负责维护旧版软件。目前,我在与SQLDMO问题如下:SQLDMO - [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]'*'附近语法不正确

//This function is used to create sql query for drop and create table 
Function GenerateScript(ByVal pObjectType As String, ByVal pObjectName As String) As String 
    Dim sSQL As String = "" 
    If (pObjectType.ToLower() = "user") Then 
     If Not IsNothing(db.Users.Item(pObjectName)) Then 
      sSQL = db.Users.Item(pObjectName).Script(SQLDMO.SQLDMO_SCRIPT_TYPE.SQLDMOScript_Drops) 
      sSQL = sSQL + db.Users.Item(pObjectName).Script() 
     End If 
    Else 
     If Not IsNothing(db.GetObjectByName(pObjectName)) Then 

      sSQL = db.GetObjectByName(pObjectName).Script(SQLDMO.SQLDMO_SCRIPT_TYPE.SQLDMOScript_Drops) 

      sSQL = sSQL + db.GetObjectByName(pObjectName).Script() //Error occur here 

     End If 
    End If 



    Return sSQL 
End Function 

有我的数据库中约20桌,但只有其中的一些重现例外:

[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '*'. 

请告诉我是什么导致问题如何解决它

更新 我试着用2个数据库,并发现它运行一个数据库确定,但产生的问题在其他。但是那些数据库具有相同的表结构,那么为什么错误发生在一个数据库中而不会发生在另一个数据库中呢?

+1

请问您为什么要提出我的问题,以便我可以避免在未来犯同样的错误 –

解决

这是导致问题的数据库的兼容。它运行与SQL Server 2005(90)兼容的数据库,并与SQL Server 2008或更高版本兼容的数据库产生错误。我需要做的只是将数据库兼容性改为2005