簡體   English   中英

SQLDMO-[Microsoft] [ODBC SQL Server驅動程序] [SQL Server]'*'附近的語法不正確

[英]SQLDMO - [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '*'

我目前負責維護舊版軟件。 目前,我在使用SQLDMO時遇到問題,如下所示:

//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個數據庫,發現它在一個數據庫中可以正常運行,但在另一個數據庫中會產生問題。 但是那些數據庫具有相同的表結構,那么為什么錯誤在一個數據庫中發生而在另一個數據庫中沒有發生?

解決

導致問題的原因是數據庫的兼容性。 與兼容sql server 2005(90)的數據庫可以正常運行,並且與sql server 2008或更高版本兼容的數據庫會產生錯誤。 我要做的就是將數據庫的兼容性更改為2005

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM