From: | Matthew Dormer <matt(at)infosource(dot)com(dot)au> |
---|---|
To: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Writing Large Objects to Postgresql via ODBC using VB |
Date: | 2001-05-02 06:32:19 |
Message-ID: | 5.0.2.1.2.20010502162018.00a649c0@mail.infosource.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
I am having problems writing to a postgres database using ODBC. Here are
the steps I have taken:
1. I have greated a lo type in the database
create type lo (
internallength=4, externallength=10,
input=int4in, output=int4out,
default='', passedbyvalue
);
2. I create a table in the database
Create table matt ( matt_id integer not null unique primary key, matt_text
lo );
3. I have a simple form with 1 rich text box, RichTextBox1 and a command
button Command 1 Here is the code on the form:
Private Sub Command1_Click()
Dim query As rdoQuery
Dim rst As rdoResultset
Set query = cn.CreateQuery("Add_Pic", "select * from matt;")
Set rst = query.OpenResultset(1, 3)
rst.AddNew
Save_RichText RichTextBox1, rst![matt_pic]
rst.Update
End Sub
Public Function Save_RichText(TextBox1 As RichTextBox, WhatField As rdoColumn)
Dim DataFile As Integer ' Free File Number fo Reading
Dim Fl As Long ' Length of the File
Dim Chunks As Integer ' The Number of Chunks
Dim Fragment As Integer ' The Size of the Remainder
Dim Chunk() As Byte ' To hold each Chunk
Dim I As Integer ' Variable for For Loop
Const FileName = "c:\tmpsavetext.rtf"
Const ChunkSize As Integer = 1024
TextBox1.SaveFile FileName, rtfRTF
DataFile = FreeFile
Open FileName For Binary Access Read As DataFile
Fl = LOF(DataFile) ' Length of data in file
If Fl = 0 Then Close DataFile: Exit Function
Chunks = Fl \ ChunkSize
Fragment = Fl Mod ChunkSize
'Put Null into Field
WhatField.AppendChunk Null
'Get the Fragment
ReDim Chunk(Fragment)
Get DataFile, , Chunk()
WhatField.AppendChunk Chunk()
'Get the Chunks
ReDim Chunk(ChunkSize)
For I = 1 To Chunks
Get DataFile, , Chunk()
WhatField.AppendChunk Chunk()
Next I
Close DataFile
Kill FileName
End Function
What is wrong with the above. when I run it i get the error:
S1C00: Only SQL_POSITION/REFRESH is supported for SQLSetPos
I am running postgresql 6.5.3, PostgreSQL ODBC Driver v 6.50.0000 and am
using vb 6.0 Enterprise. The postgresql was installed from a rpm and is
running on RedHat 6.2
Any help would be greatly Appreciated.
Matt Dormer
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Page | 2001-05-02 08:16:22 | RE: ODBC changes |
Previous Message | Tom Lane | 2001-05-02 05:30:31 | Re: ODBC changes |