wongchun
asked on
Row-00001 Cannot allocate memory
Dear all,
I have a question in database programming with VB and Oracle 8i.
During I use VB to retrieve a large field record (the field size about 5000 varchar2). The program will be occurred error "ROW-00001 Cannot allocate memory".
But there are no error during retrieving little size field record.
I am using:
-- VB6
-- Oracle 8i OLDDB Provider
Thanks,
Daniel
I have a question in database programming with VB and Oracle 8i.
During I use VB to retrieve a large field record (the field size about 5000 varchar2). The program will be occurred error "ROW-00001 Cannot allocate memory".
But there are no error during retrieving little size field record.
I am using:
-- VB6
-- Oracle 8i OLDDB Provider
Thanks,
Daniel
ASKER
'========================= ========== ==========
' Function for get connection
'========================= ========== ==========
Public Function open_dbconnect() As Connection
On Error GoTo errorhandler
Dim na_conn As ADODB.Connection
Set na_conn = CreateObject("ADODB.Connec tion")
na_conn.ConnectionString = "Provider=OraOLEDB.Oracle; " & _
"Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = " & v_host & ")(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = " & v_dbname & ") ) );" & _
"User ID=" & v_dbuser & ";" & _
"Password=" & v_dbpassword & ";" & _
"PLSQLRSet=1;"
na_conn.Open
Set open_dbconnect = na_conn
Exit Function
errorhandler:
MsgBox "Fail to connect to database"
End Function
'========================= ========== ==========
' Program
'========================= ========== ==========
Set na_conn = open_dbconnect
Dim param_return_status As ADODB.Parameter
Dim param_bank_code As ADODB.Parameter
Dim param_corp_id As ADODB.Parameter
Dim param_lang As ADODB.Parameter
Dim na_cmd As ADODB.Command
Set na_cmd = New ADODB.Command
Set recset = New ADODB.Recordset
If recset.State <> 0 Then
recset.Close
End If
Set param_bank_code = na_cmd.CreateParameter("pa ram_bank_c ode", adVariant, adParamInput, 4, Bankcode)
Set param_corp_id = na_cmd.CreateParameter("pa ram_corp_i d", adVariant, adParamInput, 10, Trim(rtfCorpIdSearch.Text) )
Set param_return_status = na_cmd.CreateParameter("pa ram_return _status", adSmallInt, adParamOutput)
' Get the Corporate Name
na_cmd.CommandText = "{CALL pkg_admin.sp_get_corp_deta ils(?, ?, ?)}"
na_cmd.Parameters.Append param_bank_code
na_cmd.Parameters.Append param_corp_id
na_cmd.Parameters.Append param_return_status
na_cmd.ActiveConnection = na_conn
Set recset = na_cmd.Execute
......
Set na_cmd = Nothing
recset.Close
Set recset = Nothing
' Function for get connection
'=========================
Public Function open_dbconnect() As Connection
On Error GoTo errorhandler
Dim na_conn As ADODB.Connection
Set na_conn = CreateObject("ADODB.Connec
na_conn.ConnectionString = "Provider=OraOLEDB.Oracle;
"Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = " & v_host & ")(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = " & v_dbname & ") ) );" & _
"User ID=" & v_dbuser & ";" & _
"Password=" & v_dbpassword & ";" & _
"PLSQLRSet=1;"
na_conn.Open
Set open_dbconnect = na_conn
Exit Function
errorhandler:
MsgBox "Fail to connect to database"
End Function
'=========================
' Program
'=========================
Set na_conn = open_dbconnect
Dim param_return_status As ADODB.Parameter
Dim param_bank_code As ADODB.Parameter
Dim param_corp_id As ADODB.Parameter
Dim param_lang As ADODB.Parameter
Dim na_cmd As ADODB.Command
Set na_cmd = New ADODB.Command
Set recset = New ADODB.Recordset
If recset.State <> 0 Then
recset.Close
End If
Set param_bank_code = na_cmd.CreateParameter("pa
Set param_corp_id = na_cmd.CreateParameter("pa
Set param_return_status = na_cmd.CreateParameter("pa
' Get the Corporate Name
na_cmd.CommandText = "{CALL pkg_admin.sp_get_corp_deta
na_cmd.Parameters.Append param_bank_code
na_cmd.Parameters.Append param_corp_id
na_cmd.Parameters.Append param_return_status
na_cmd.ActiveConnection = na_conn
Set recset = na_cmd.Execute
......
Set na_cmd = Nothing
recset.Close
Set recset = Nothing
Change:
Set na_conn = CreateObject("ADODB.Connec tion")
To:
Set na_conn = New ADODB.Connection
Also change:
Public Function open_dbconnect() As Connection
To
Public Function open_dbconnect() As ADODB.Connection
Leon
Set na_conn = CreateObject("ADODB.Connec
To:
Set na_conn = New ADODB.Connection
Also change:
Public Function open_dbconnect() As Connection
To
Public Function open_dbconnect() As ADODB.Connection
Leon
ASKER
Are they different?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks.
Daniel
Daniel
Leon