我目前负责维护旧版软件。目前我在使用 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 个数据库,发现它在一个数据库中运行正常,但在另一个数据库中产生了问题。但是这些数据库具有相同的表结构,那么为什么错误发生在一个数据库中,而另一个数据库没有发生呢?