is AppendChunk interactive or accumulative?

is AppendChunk interactive or accumulative?

am 26.10.2002 08:42:16 von mfuhrman

Hello All,

Need to know if a RecordSet AppendChunk is interactive or does it accumulate
the field's data until an Update is called? I'm finding that the Update
fails if the total RecordSet size is greater than Max_Allowed_Packet. If
the later is true .. I guess I'll need work around suggestions, please.

Below is my test:

CREATE TABLE test
(
ID INTEGER AUTO_INCREMENT,
PRIMARY KEY (ID),
szText LONGTEXT,
szBlob LONGBLOB
)


VB Code
===========================================

Const nMaxChunk = 64000
Dim nMaxAllowed as Long

On Error Resume Next

Dim szString as String
szString = String (".", nMaxAllowed + 1)


Dim szSQL as String
Dim cn as Object
Dim rs as Object

Set cn = CreateObject ("ADODB.Connection")
....

szSQL = "SHOW VARIABLES" -- where variable_name = 'max_allowed_packet'
Set rs = cn.Execute (szSQL)
nMaxAllowed = rs (1)
rs.close


szSQL = "SELECT * FROM test WHERE ID = 0"
Set rs = CreateObject ("ADODB.Recordset")
....
rs.open (szSQL)

rs.AddNew

Dim t as Long
Dim szChunk as String

t = 1
do
szChunk = mid (szString, t, nMaxChunk)
rs ("szMemo").AppendChunk (szChunk)
t = t + nMaxChunk
loop while (t < nMaxAllowed)

t = 1
do
szChunk = mid (szString, t, nMaxChunk)
rs ("szBlob").AppendChunk (szChunk)
t = t + nMaxChunk
loop while (t < nMaxAllowed)

rs.Update
if (err <> 0) then stop

rs.Close

===========================================

Any suggestions?
ENetArch

===========================================================

' Keywords:
' myODBC, mySQL, Visual Basic, VB, ADODB.RECORDSET
' ADODB.CONNECTION, ADO, AppendChunck, GetChunck,
' rs.Update, Max_Allowed_Packet

' Errors:
' [MySQL][ODBC 3.51 Driver][mysqld-3.23.51-nt]
' MySQL server has gone away
' Got a packet bigger than 'max_allowed_packet'
' Lost connection to MySQL server during query

' Environment:
' WkStn - Windows 2000 WkStn, 256 meg, AMD K6-2 500 mhz, build 2195, SP1
' MDAC 2.7
' myODBC 3.51 - WinX
'
' Server - Windows NT 4.0 Server, 64 meg, Pentium II 400 mhz
' mySQL - 3.23.51 - NT
' max_allowed_packet = 4MB


------------------------------------------------------------ ---------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail
To unsubscribe, e-mail
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Re: is AppendChunk interactive or accumulative?

am 26.10.2002 12:38:16 von Venu

On Fri, 2002-10-25 at 23:42, Michael J. Fuhrman wrote:
> Hello All,
>
> Need to know if a RecordSet AppendChunk is interactive or does it accumulate
> the field's data until an Update is called? I'm finding that the Update
> fails if the total RecordSet size is greater than Max_Allowed_Packet. If
> the later is true .. I guess I'll need work around suggestions, please.

It uses second option; and you must increase the max_allowed_packet size
in this case.

>
> Below is my test:
>
> CREATE TABLE test
> (
> ID INTEGER AUTO_INCREMENT,
> PRIMARY KEY (ID),
> szText LONGTEXT,
> szBlob LONGBLOB
> )
>
>
> VB Code
> ===========================================
>
> Const nMaxChunk = 64000
> Dim nMaxAllowed as Long
>
> On Error Resume Next
>
> Dim szString as String
> szString = String (".", nMaxAllowed + 1)
>
>
> Dim szSQL as String
> Dim cn as Object
> Dim rs as Object
>
> Set cn = CreateObject ("ADODB.Connection")
> ...
>
> szSQL = "SHOW VARIABLES" -- where variable_name = 'max_allowed_packet'
> Set rs = cn.Execute (szSQL)
> nMaxAllowed = rs (1)
> rs.close
>
>
> szSQL = "SELECT * FROM test WHERE ID = 0"
> Set rs = CreateObject ("ADODB.Recordset")
> ...
> rs.open (szSQL)
>
> rs.AddNew
>
> Dim t as Long
> Dim szChunk as String
>
> t = 1
> do
> szChunk = mid (szString, t, nMaxChunk)
> rs ("szMemo").AppendChunk (szChunk)
> t = t + nMaxChunk
> loop while (t < nMaxAllowed)
>
> t = 1
> do
> szChunk = mid (szString, t, nMaxChunk)
> rs ("szBlob").AppendChunk (szChunk)
> t = t + nMaxChunk
> loop while (t < nMaxAllowed)
>
> rs.Update
> if (err <> 0) then stop
>
> rs.Close
>
> ===========================================
>
> Any suggestions?
> ENetArch
>
> ===========================================================
>
> ' Keywords:
> ' myODBC, mySQL, Visual Basic, VB, ADODB.RECORDSET
> ' ADODB.CONNECTION, ADO, AppendChunck, GetChunck,
> ' rs.Update, Max_Allowed_Packet
>
> ' Errors:
> ' [MySQL][ODBC 3.51 Driver][mysqld-3.23.51-nt]
> ' MySQL server has gone away
> ' Got a packet bigger than 'max_allowed_packet'
> ' Lost connection to MySQL server during query
>
> ' Environment:
> ' WkStn - Windows 2000 WkStn, 256 meg, AMD K6-2 500 mhz, build 2195, SP1
> ' MDAC 2.7
> ' myODBC 3.51 - WinX
> '
> ' Server - Windows NT 4.0 Server, 64 meg, Pentium II 400 mhz
> ' mySQL - 3.23.51 - NT
> ' max_allowed_packet = 4MB
>
>
> ------------------------------------------------------------ ---------
> Before posting, please check:
> http://www.mysql.com/manual.php (the manual)
> http://lists.mysql.com/ (the list archive)
>
> To request this thread, e-mail
> To unsubscribe, e-mail
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
--
Regards, Venu
For technical support contracts, go to https://order.mysql.com
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Venu
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Developer
/_/ /_/\_, /___/\___\_\___/ Palo Alto, CA-94306
<___/ www.mysql.com USA


------------------------------------------------------------ ---------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail bugs-thread12864@lists.mysql.com
To unsubscribe, e-mail

Re: is AppendChunk interactive or accumulative?

am 26.10.2002 12:38:16 von Venu

On Fri, 2002-10-25 at 23:42, Michael J. Fuhrman wrote:
> Hello All,
>
> Need to know if a RecordSet AppendChunk is interactive or does it accumulate
> the field's data until an Update is called? I'm finding that the Update
> fails if the total RecordSet size is greater than Max_Allowed_Packet. If
> the later is true .. I guess I'll need work around suggestions, please.

It uses second option; and you must increase the max_allowed_packet size
in this case.

>
> Below is my test:
>
> CREATE TABLE test
> (
> ID INTEGER AUTO_INCREMENT,
> PRIMARY KEY (ID),
> szText LONGTEXT,
> szBlob LONGBLOB
> )
>
>
> VB Code
> ===========================================
>
> Const nMaxChunk = 64000
> Dim nMaxAllowed as Long
>
> On Error Resume Next
>
> Dim szString as String
> szString = String (".", nMaxAllowed + 1)
>
>
> Dim szSQL as String
> Dim cn as Object
> Dim rs as Object
>
> Set cn = CreateObject ("ADODB.Connection")
> ...
>
> szSQL = "SHOW VARIABLES" -- where variable_name = 'max_allowed_packet'
> Set rs = cn.Execute (szSQL)
> nMaxAllowed = rs (1)
> rs.close
>
>
> szSQL = "SELECT * FROM test WHERE ID = 0"
> Set rs = CreateObject ("ADODB.Recordset")
> ...
> rs.open (szSQL)
>
> rs.AddNew
>
> Dim t as Long
> Dim szChunk as String
>
> t = 1
> do
> szChunk = mid (szString, t, nMaxChunk)
> rs ("szMemo").AppendChunk (szChunk)
> t = t + nMaxChunk
> loop while (t < nMaxAllowed)
>
> t = 1
> do
> szChunk = mid (szString, t, nMaxChunk)
> rs ("szBlob").AppendChunk (szChunk)
> t = t + nMaxChunk
> loop while (t < nMaxAllowed)
>
> rs.Update
> if (err <> 0) then stop
>
> rs.Close
>
> ===========================================
>
> Any suggestions?
> ENetArch
>
> ===========================================================
>
> ' Keywords:
> ' myODBC, mySQL, Visual Basic, VB, ADODB.RECORDSET
> ' ADODB.CONNECTION, ADO, AppendChunck, GetChunck,
> ' rs.Update, Max_Allowed_Packet
>
> ' Errors:
> ' [MySQL][ODBC 3.51 Driver][mysqld-3.23.51-nt]
> ' MySQL server has gone away
> ' Got a packet bigger than 'max_allowed_packet'
> ' Lost connection to MySQL server during query
>
> ' Environment:
> ' WkStn - Windows 2000 WkStn, 256 meg, AMD K6-2 500 mhz, build 2195, SP1
> ' MDAC 2.7
> ' myODBC 3.51 - WinX
> '
> ' Server - Windows NT 4.0 Server, 64 meg, Pentium II 400 mhz
> ' mySQL - 3.23.51 - NT
> ' max_allowed_packet = 4MB
>
>
> ------------------------------------------------------------ ---------
> Before posting, please check:
> http://www.mysql.com/manual.php (the manual)
> http://lists.mysql.com/ (the list archive)
>
> To request this thread, e-mail
> To unsubscribe, e-mail
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
--
Regards, Venu
For technical support contracts, go to https://order.mysql.com
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Venu
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Developer
/_/ /_/\_, /___/\___\_\___/ Palo Alto, CA-94306
<___/ www.mysql.com USA


------------------------------------------------------------ ---------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail bugs-thread12864@lists.mysql.com
To unsubscribe, e-mail