Re: Adding long text to a text field generates an error - Mailing list pgsql-odbc

From Jeff Eckermann
Subject Re: Adding long text to a text field generates an error
Date
Msg-id 20040121203046.32575.qmail@web20813.mail.yahoo.com
Whole thread Raw
In response to Re: Adding long text to a text field generates an error  (Ben Ramsey <br@benandliz.com>)
Responses Re: Adding long text to a text field generates an error
List pgsql-odbc
I found a potential answer in the archives:
set "CursorLocation"  to "adUseClient".
Try that and let us know how it goes.

--- Ben Ramsey <br@benandliz.com> wrote:
> It seems that I /was/ a bit to optimistic, indeed.
>
> Here's the problem I'm having now, and I didn't know
> this was a problem
> until I heard it from the client.  The problem is
> that I can *update*
> records just fine after setting the Max LongVarChar
> above 8190, but I
> cannot *add* new records.  I get this error instead:
>
> Microsoft OLE DB Provider for ODBC Drivers error
> '80004005'
> can't alloc Desc Handle yet
> /cora/coraModules/news/newsUpdate.asp, line 1054
>
> When I set the value back to 8190, I can add new
> records and update
> records just fine (as long as I don't go over that
> value).
>
> Here's the code I'm using to add new records (keep
> in mind that this is
> ASP using ADO to update the database--do not me to
> switch it to a SQL
> statement, it still will not work, as I have already
> tried):
>
>
> Set DBConn = Server.CreateObject("ADODB.Connection")
> DBConn.Open
> "DSN=DatasourceName;UID=username;PWD=password;"
>
> Set NewsRS = Server.CreateObject("ADODB.Recordset")
> NewsRS.CursorLocation = adUseServer
> NewsRS.CursorType = adOpenKeyset
> NewsRS.LockType = adLockOptimistic
> NewsRS.Open "tblNews", DBConn, , , adCmdTable
> NewsRS.AddNew
>
> NewsRS("DateAdd") = Now
> NewsRS("Keywords") = Keywords
> NewsRS("DateModified") = Now
> If (StrComp(ArtType,"1") = 0) Then
>      NewsRS("News") = 1
> Else
>      NewsRS("News") = 0
> End If
> If (StrComp(ArtType,"2") = 0) Then
>      NewsRS("Topic") = 1
> Else
>      NewsRS("Topic") = 0
> End If
> If (StrComp(ArtType,"3") = 0) Then
>      NewsRS("Review") = 1
> Else
>      NewsRS("Review") = 0
> End If
> NewsRS("ReleaseDate") = ValidDate
> NewsRS("Title") = ArtTitle
> If ArtPDF Then
>      NewsRS("PDFLink") = 1
> Else
>      NewsRS("PDFLink") = 0
> End If
> NewsRS("PDFURL") = ArtPDFFile
> If (StrComp(ArtCopyType, "HTML", vbTextCompare) = 0)
> Then
>      NewsRS("FormatHTML") = 1
> Else
>      NewsRS("FormatHTML") = 0
> End If
> If (StrComp(ArtCopyType, "Text", vbTextCompare) = 0)
> Then
>      NewsRS("FormatText") = 1
> Else
>      NewsRS("FormatText") = 0
> End If
> If ArtPressRelease Then
>      NewsRS("PressRelease") = 1
> Else
>      NewsRS("PressRelease") = 0
> End If
> If ArtCalendar Then
>      NewsRS("Calendar") = 1
> Else
>      NewsRS("Calendar") = 0
> End If
> If ArtHome Then
>      NewsRS("HomePage") = 1
> Else
>      NewsRS("HomePage") = 0
> End If
> If ArtRevised Then
>      NewsRS("Revised") = 1
>      NewsRS("RevisedOn") = ValidRevisedDate
> Else
>      NewsRS("Revised") = 0
> End If
> NewsRS("ArticleCopy") = ArtCopy
>
> NewsRS.Update
>
> NewsRS.Close
> Set NewsRS = Nothing
> DBConn.Close
> Set DBConn = Nothing
>
>
> Line 1054 is NewsRS.Update.  ArticleCopy is the
> "text" column in the
> database.
>
>
> Here is the SQL code I've dumped from PostgreSQL for
> "tblnews":
>
> CREATE TABLE tblnews (
>      id serial NOT NULL,
>      keywords character varying(255),
>      dateadd timestamp without time zone,
>      datemodified timestamp without time zone,
>      news boolean DEFAULT 'f',
>      topic boolean DEFAULT 'f',
>      review boolean DEFAULT 'f',
>      releasedate timestamp without time zone,
>      revised boolean DEFAULT 'f',
>      revisedon timestamp without time zone,
>      title character varying(255),
>      pdflink boolean DEFAULT 'f',
>      pdfurl character varying(255),
>      pressrelease boolean DEFAULT 'f',
>      calendar boolean DEFAULT 'f',
>      homepage boolean DEFAULT 'f',
>      enteredby character varying(50),
>      formattext boolean DEFAULT 'f',
>      formathtml boolean DEFAULT 'f',
>      articlecopy text
> );
>
>
> Here are the settings I have for my DSN (ODBC
> settings):
>
> Disable Genetic Optimizer (checked)
> KSQO (Keyset Query Optimization) (checked)
> Recognize Unique Indexes (checked)
> Use Declare/Fetch (unchecked)
> CommLog (unchecked)
> Parse Statements (unchecked)
> Cancel as FreeStmt (unchecked)
> MyLog (unchecked)
> Unknown Sizes = Maximum
> Text As LongVarChar (checked)
> Unknowns As LongVarChar (unchecked)
> Bools As Char (checked)
> Max Varchar = 254
> Max LongVarChar = 163800
> Cache size = 100
> SysTable Prefixes = dd_;
> Read Only (unchecked)
> Show System Tables (unchecked)
> LF <-> CR/LF conversion (checked)
> Updateable Cursors (checked)
> bytea As LO (unchecked)
> Row Versioning (unchecked)
> Disallow Premature (unchecked)
> True is -1 (unchecked)
> Server side prepare (unchecked)
> Int 8 As = default
> Protocol = 7.X,6.4+
> OID Options: Show Column (unchecked)
> OID Options: Fake Index (grayed out; unchecked and
> unable to check)
> Connect settings (empty)
>
>
> The client is very antsy about this and wants it
> fixed ASAP.  Any ideas?
> -Ben
>
>
>
> Ben Ramsey wrote:
> > Jeff Eckermann wrote:
> >
> >> We haven't established that this works, yet ;-)
> >
> >
> > Guess I was a bit too optimistic. ;)
> >
> > Well, I tried unchecking it, then I tried setting
> the value higher.
> > Nothing seemed to work.  Then, I got the nifty
> idea to restart IIS, and
> > it work!  It appears that unchecking it doesn't do
> anything.  So, I had
> > to just set it to an extremely high value.  That
> did the job.
> >
> > Thanks!
> >
>
=== message truncated ===


__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

pgsql-odbc by date:

Previous
From: Ben Ramsey
Date:
Subject: Re: Adding long text to a text field generates an error
Next
From: Ben Ramsey
Date:
Subject: Re: Adding long text to a text field generates an error