VB .NET Oracle查询

时间:2014-03-19 14:39:04

标签: mysql sql vb.net oracle

我似乎无法在互联网上的任何地方找到我的问题的答案。我已经看到了其他人的解决方案,例如为appsettings添加键等,但这些都不适用于我。

Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types
Imports System.Data

Sub Button1Click(sender As Object, e As EventArgs)
Dim oradb As String = "DATA SOURCE=INITIATE;PASSWORD=pASS;PERSIST SECURITY INFO=True;USER ID=uSER"
    Dim conn As New OracleConnection(oradb)     
        Try
            Dim sql As String = "select MEMRECNO from INIT.MPI_MEMHEAD where MEMIDNUM = '" + txtMRN.Text + "'"
            Dim cmd As New OracleCommand(sql, conn)
            cmd.CommandType = CommandType.Text

            Dim dr As OracleDataReader = cmd.ExecuteReader()
            dr.Read()
            txt1.Text = dr.GetInt32(0)

        Catch ex As Exception

            richTextBox1.Text = richTextBox1.Text + vbCrLf + ex.Message
        End Try

    End Sub

现在,当我运行此代码时,如果我在前25个记录中输入一个值(当直观地查看Oracle中的表时),则返回结果。但是,当我输入一个可能是100万记录的值时,我收到此错误:“由于对象的当前状态,操作无效。”

是的,该值确实存在。因为如果我在Oracle中运行完全相同的查询,我会得到结果。

这使我相信连接是超时,关闭,或者使用Oracle数据访问客户端可以返回多少行的限制。

0 个答案:

没有答案