运行Oracle语句时出现无效的字符错误

时间:2013-04-10 08:35:36

标签: oracle oracle11g

Private Function GetSumm(ByVal strLot As String) As DataSet

Dim connectionString As String = "Data Source = smsdw; User ID = rpt; Password = rpt;"

Dim sqlConnection As OracleClient.OracleConnection = New OracleClient.OracleConnection(connectionString)

Dim queryString As String = "select smsdw.device_def from smsdwSI6;"

Dim sqlCommand As OracleClient.OracleCommand = New OracleClient.OracleCommand(queryString, sqlConnection)
sqlCommand.CommandTimeout = 0

Dim dataAdapter As OracleClient.OracleDataAdapter = New OracleClient.OracleDataAdapter(sqlCommand)
Dim dataSet As DataSet = New DataSet
dataAdapter.Fill(dataSet)
Return dataSet

End Function

给出:

Error at dataAdapter.Fill(dataSet)
ORA-00911: invalid character

2 个答案:

答案 0 :(得分:3)

SQL语句不包含尾部分号。这是SQL * Plus和其他客户端中的语句分隔符,而不是语句本身的一部分。 (PL / SQL是一个不同的故事)。

无论如何,只需删除分号:

Dim queryString As String = "select smsdw.device_def from smsdwSI6"

答案 1 :(得分:1)

由于从编辑器(在我的例子中是Excel)中复制,我收到了此错误。 this article解决了我的问题。

解决方案 - 不要从visual studio中的任何编辑器复制粘贴。