2013-04-10 85 views
2
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 

无效字符错误得出:运行Oracle声明

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

回答

3

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

总之,只要删除分号:

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

我得到这个错误是由于从编辑复制(在我的案件的Excel)。 this article解决了我的问题。

解决方法 - 不要从Visual Studio中的任何编辑器复制粘贴。

+1

编辑器的使用会导致此类错误。 – 2017-03-09 09:33:13