You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
postgres/src/interfaces/odbc
Hiroshi Inoue 01e322652b 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
..
GNUmakefile Add md5 authentication support thanks to Bruce Momjian. 25 years ago
bind.c Bug fixes for the 2002-03-08 change. 24 years ago
bind.h New pgindent run with fixes suggested by Tom. Patch manually reviewed, 25 years ago
columninfo.c 1) Fix a few bugs about SQLGetData() 25 years ago
columninfo.h Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
connection.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
connection.h 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
convert.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
convert.h 1) Implement SQLParamOptions(). 24 years ago
dlg_specific.c Bug fixes for the 2002-03-08 change. 24 years ago
dlg_specific.h 1) Implement SQLParamOptions(). 24 years ago
drvconn.c 1) Implement SQLParamOptions(). 24 years ago
environ.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
environ.h 1) Implement SQLParamOptions(). 24 years ago
execute.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
gpps.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 25 years ago
gpps.h Fix indenting for 'extern "C"' cases. 25 years ago
info.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
info30.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
iodbc.h New pgindent run with fixes suggested by Tom. Patch manually reviewed, 25 years ago
isql.h Fix indenting for 'extern "C"' cases. 25 years ago
isqlext.h Fix indenting for 'extern "C"' cases. 25 years ago
license.txt
lobj.c Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
lobj.h Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
md5.c Improve comments about duplicate files. 24 years ago
md5.h More correct way to check for existence of types, which allows to specify 24 years ago
misc.c 1) Implement SQLParamOptions(). 24 years ago
misc.h 1) Implement SQLParamOptions(). 24 years ago
multibyte.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
multibyte.h 1) Implement SQLParamOptions(). 24 years ago
notice.txt
odbc.sql Remove duplicate lines from fouled up last commit (my DSL line failed 24 years ago
odbcapi.c 1) Implement SQLParamOptions(). 24 years ago
odbcapi25w.c 1) Implement SQLParamOptions(). 24 years ago
odbcapi30.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
odbcapi30w.c 1) Implement SQLParamOptions(). 24 years ago
odbcapiw.c 1) Implement SQLParamOptions(). 24 years ago
odbcinst.ini
options.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
parse.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
pgapi30.c 1) Implement SQLParamOptions(). 24 years ago
pgapifunc.h 1) Implement SQLParamOptions(). 24 years ago
pgtypes.c Remove compile errors. 24 years ago
pgtypes.h The version is now 7.01.0010. 24 years ago
psqlodbc.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 25 years ago
psqlodbc.h 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
psqlodbc.rc 1) Implement SQLParamOptions(). 24 years ago
psqlodbc.reg
psqlodbc30.reg Add files for ODBC3.0 support. 24 years ago
psqlodbc_api30.def 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
psqlodbc_api30w.def 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
psqlodbc_apiw.def 1) Implement SQLParamOptions(). 24 years ago
psqlodbc_win32.def 1) Not export ODBC 3.0 functions. 25 years ago
qresult.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
qresult.h 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
readme.txt The renewal of README thanks to Dave Page. 25 years ago
resource.h 1) Implement SQLParamOptions(). 24 years ago
results.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
setup.c 1) Implement SQLParamOptions(). 24 years ago
setup.rul
socket.c Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
socket.h Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
statement.c 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
statement.h 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
tuple.c Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
tuple.h 1) Internal improvements to handle updatable cursors(1st cut). 24 years ago
tuplelist.c Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
tuplelist.h Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
win32.mak 1) Implement SQLParamOptions(). 24 years ago
win32_30.mak 1) Implement SQLParamOptions(). 24 years ago
win32_30w.mak 1) Implement SQLParamOptions(). 24 years ago
win32w.mak 1) Implement SQLParamOptions(). 24 years ago
win_md5.c Add md5 authentication support thanks to Bruce Momjian. 25 years ago
win_unicode.c 1) Implement SQLParamOptions(). 24 years ago

readme.txt


Readme for psqlodbc.dll 04/04/2001
-----------------------------------------------------------------------------------
Precompiled binaries for Win32 are available from ftp://ftp.postgresql.org/pub/odbc


I. Building the Driver from the source code

This section describes how to build the PostgreSQL ODBC Driver (psqlodbc.dll).
Microsoft Visual C++ version 4.0 or higher is required. Other compilers may work
but have not been formally tested. The psqlodbc.dll may be built either in the
VC++ IDE or from the command line:

IDE Method
----------

1. Create a new project workspace with the type DLL. For the name, type in the
name "psqlodbc".

2. The above step creates the directory "psqlodbc" under the
"\<Visual C++ top level directory>\projects" path to hold the source files.
(example, \msdev\projects\psqlodbc). Now, either unzip the source code release
into this directory or just copy all the files into this directory.

3. Insert all of the source files (*.c, *.h, *.rc, *.def) into the Visual project
using the "Insert files into project" command. You may have to do 2 inserts --
the first to get the 'c' and header files, and the second to get the def file.
Don't forget the .def file since it is an important part of the release.
You can even insert ".txt" files into the projects -- they will do nothing.

4. Add the "wsock32.lib" library to the end of the list of libraries for linking
using the Build settings menu.

5. Select the type of build on the toolbar (i.e., Release or Debug). This is
one of the useful features of the visual c++ environment in that you can
browse the entire project if you build the "Debug" release. For release
purposes however, select "Release" build.

6. Build the dll by selecting Build from the build menu.

7. When complete, the "psqlodbc.dll" file is under the "Release" subdirectory.
(i.e., "\msdev\projects\psqlodbc\release\psqlodbc.dll")

Command Line Method
-------------------

1. From a command prompt, CD to the directory containing the source code.

2. Use NMAKE to build the dll eg:

C:\psqlodbc\> nmake /f win32.mak CFG=Release ALL

Possible configurations are Release, Debug, MultiByteRelease or MultiByteDebug
Possible build types are ALL or CLEAN


II. Using Large Objects for handling LongVarBinary (OLE Objects in Access)

Large objects are mapped to LONGVARBINARY in the driver to allow storing things like
OLE objects in Microsoft Access. Multiple SQLPutData and SQLGetData calls are usually
used to send and retrieve these objects. The driver creates a new large object and simply
inserts its 'identifier' into the respective table. However, since Postgres uses an 'Oid'
to identify a Large Object, it is necessary to create a new Postgres type to be able
to discriminate between an ordinary Oid and a Large Object Oid. Until this new type
becomes an official part of Postgres, it must be added into the desired database and
looked up for each connection. The type used in the driver is simply called "lo" and
here is the command used to create it:

create type lo (internallength=4,externallength=10,input=int4in,output=int4out,
default='',passedbyvalue);

Once this is done, simply use the new 'lo' type to define columns in that database. Note
that this must be done for each database you want to use large objects in with the driver.
When the driver sees an 'lo' type, it will handle it as LONGVARBINARY.

Another important note is that this new type is lacking in functionality. It will not
cleanup after itself on updates and deletes, thus leaving orphans around and using up
extra disk space. And currently, Postgres does not support the vacuuming of large
objects. Hopefully in the future, a real large object data type will be available.

But for now, it sure is fun to stick a Word document, Visio document, or avi of a dancing
baby into a database column, even if you will fill up your server's hard disk after a while!