]> git.saurik.com Git - wxWidgets.git/blob - src/iodbc/README
added ODBC support
[wxWidgets.git] / src / iodbc / README
1 0. Changes
2 a. I realized that a driver manager doesn't aware of
3 difference between a C5 (i.e. hstmt) and a C6
4 (i.e. transaction) states.
5
6 b. The link flags "-lc" has been removed from Linux ELF
7 section of Config.mk to fix a segment fault problem.
8 Now, it works fine on Slackware 2.3 and Red Hat 2.0
9 (kernel version are 1.2.xx and 1.3.xx respectively).
10
11 c. On FreeBSD 2.x, dlsym() doesn't handle the '_'
12 prepended before a exporting function symbol. So,
13 CLI_NAME_PREFIX needs to be defined as "_SQL" for
14 FreeBSD.
15
16 d. Some files are renamed
17 dld.c -> dlf.c
18 dld.h -> dlf.h
19 confg.h -> config.h
20
21 1. iODBC driver manager platform availability
22
23 iODBC driver manager has been ported to following Unix platforms:
24
25 SunOS 4.1.x Sun Sparc
26 HP/UX 9.x, 10.x HP9000 s700/s800
27 HP/UX 9.x HP9000 s300/s400
28 IBM AIX 3.x, 4.x IBM RS6000, PowerPC
29 Sun Solaris 2.x Sun Sparc, PCx86
30 SGI Irix SVR4 5.x, 6.x IP12 MIPS, IP22 MIPS
31 NCR SVR4 3.x NCR 3435
32 UnixWare SVR4.2 1.x, 2.x x86
33 DEC Unix(OSF/1) 3.x, 4.x DEC Alpha
34 FreeBSD 2.x x86
35 BSDI BSD/OS 2.x ?
36 Linux ELF 1.2.x, 1.3.x x86
37 SCO OpenServer 5.x x86
38 Max/OS SVR4 1.x Concurrent Maxion 9200 MP
39 DG/UX 5.x Aviion
40
41 Porting of iODBC driver manager to some non-unix operating systems
42 such as Windows family(3.x, 95, NT), OS/2 and Mac is supported but
43 has never compiled and tested yet :). Of cause, you need to supply
44 a make/build file and a short LibMain for creating the iodbc.dll.
45
46 2. How to build iODBC driver manager:
47
48 step 1. Identify your system
49 step 2. Run build with a suitable option
50
51 Here is an example:
52
53 %[1]: sh iodbc-2.12.shar
54 ....
55 %[2]: cd iodbc-2.12
56 %[3]: uname -s -v -r -m
57 HP-UX B.10.01 A 9000/710
58 %[4]: ./build hp700
59 autoconfig hp700
60 make
61 ....
62 Generating iODBC driver manager --> /home/kejin/iodbc-2.12.sl
63
64 3. odbc.ini( ~/.odbc.ini )
65
66 Driver manager and drivers use odbc.ini(or ~/.odbc.ini on Unix) file
67 or connection string when establishing a data source connection. On
68 Windows, odbc.ini is located in Windows directory. On unix, iODBC driver
69 manager(and all other ODBC drivers and driver managers I awared) looks
70 .odbc.ini file in real user's home directory (it could be a softlink to
71 the file located somewhere else). Make sure your driver will look into
72 the same file (or a file which is a symbolic link to the same file).
73 The format of odbc.ini( or ~/.odbc.ini ) is defined as:
74
75 odbc.ini(or .odbc.ini) ::= data_source_list
76
77 data_source_list ::= /* empty */
78 | data_source '\n' data_source_list
79
80 data_source ::= '[' data_source_name ']' '\n' data_source_desc
81
82 data_source_name ::= 'default' | [A-Za-z]*[A-Za-z0-9_]*
83
84 data_source_desc ::= /* empty */
85 | attrib_desc '\n' data_source_desc
86
87 addrib_desc ::= Attrib '=' attrib_value
88
89 Attrib ::= 'Driver' | 'PID' | 'UID' | driver_def_attrib
90
91 driver_def_attrib ::= [A-Za-z]*[A-Za-z0-9_]*
92
93 An example of .odbc.ini file:
94
95 [toronto_yp]
96 # yellow page of metro Toronto
97 Driver = /usr/lib/odbc/oracle.so
98 <....>
99
100 [toronto_wp]
101 # white page of metro Toronto
102 Driver = /usr/lib/odbc/oracle.so
103 <....>
104
105 [contract]
106 # all contract documents
107 Driver = /usr/lib/odbc/informix.so
108 <....>
109
110 [netnews]
111 # NNTP netnews group
112 Driver = /usr/lib/odbc/nnodbc.so
113 Server = news.empress.com
114
115 [rnd_test]
116 # data source for R&D test
117 Driver = /home/r_d/odbc/empodbc.so
118 URL = empodbc://rnd.empress.com:6322/rnd_test/testdb
119
120 [default]
121 # default to odbc gateway
122 Driver = /usr/lib/odbc/gateway.so
123
124 4. Tracing
125
126 iODBC driver manager traces driver's ODBC call invoked by the driver
127 manager. Default tracing file is ./odbc.log. Tracing option (i.e.
128 on/off or optional tracing file name) can be set in ~/.odbc.ini
129 file (under a data source section) as:
130
131 TraceFile = <optional_trace_file>
132 Trace = ON | On | on | 1 | OFF | Off | off | 0
133
134 If <optional_trace_file> is stderr or stdout, i.e.
135
136 TraceFile = stderr
137
138 or
139
140 TraceFile = stdout
141
142 the tracing message will go to the terminal screen(if it is available).
143
144 iODBC driver manager allows one to tune on/off tracing on selected
145 connection(s). Different connections can share one or use different
146 tracing file(s). ODBC calls on connections without tuning tracing on
147 will not be traced.
148
149 5. File list:
150
151 README This file
152 IAFA-PACKAGE Version and copyright information
153 Changes.log Source changes log
154 Version.mk Version make include file
155 Config.mk Config make include file
156 Makefile make file
157 config.h system config include file
158 isql.h ODBC 1.0 macro
159 isqlext.h ODBC 2.0 macro
160 dlf.h general dynamic loader module interface
161 dlf.c general dynamic loader module (mapping to svr4)
162 dlproc.h simple dynamic loader module interface
163 dlproc.c simple dynamic loader on top of dlf module
164 herr.h error handling module interface
165 herr.c error handling module
166 herr.ci error handling source include
167 henv.h environment handle interface
168 henv.c environment handle module
169 henv.ci environment handle source include
170 hdbc.h connection handle interface
171 hdbc.c connection handle module
172 hstmt.h statement handle interface
173 hstmt.c statement handle module
174 connect.c connect functions
175 prepare.c query prepare functions
176 execute.c query executing functions
177 result.c query result property functions
178 fetch.c query result fetch functions
179 info.c driver information functions
180 catalog.c catalog functions
181 misc.c miscellaneous functions
182 itrace.h macro
183 itrace.c trace function
184 main.c entry function used to build a share library on AIX
185 shrsub.exp export symbol list used on AIX
186 autoconfig shell script for creating Config.mk
187 build shell script for building iodbc driver manager