]> granicus.if.org Git - postgresql/commitdiff
Initial information for Linux/Unix installation.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Tue, 1 Sep 1998 15:48:00 +0000 (15:48 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Tue, 1 Sep 1998 15:48:00 +0000 (15:48 +0000)
doc/src/sgml/odbc.sgml

index c9e2d5821ca00f1ee07d382d424eaae893f03ca5..358897dcc262a583dc797a76d2347cfd37da6933 100644 (file)
 <FirstName>Tim</FirstName>
 <Surname>Goeke</Surname>
 </Author>
+<Author>
+<FirstName>Thomas</FirstName>
+<Surname>Lockhart</Surname>
+</Author>
 </AuthorGroup>
-<Date>Transcribed 1998-02-12</Date>
+<Date>1998-08-25</Date>
 </DocInfo>
 
-<Title>ODBC Interface</Title>
+<Title><acronym>ODBC</acronym> Interface</Title>
 
 <Para>
 <Note>
 <Para>
-Contributed by <ULink url="mailto:tgoeke@xpressway.com">Tim Goeke</ULink>
+Background information originally by
+ <ULink url="mailto:tgoeke@xpressway.com">Tim Goeke</ULink>
 </Para>
 </Note>
 
 <Para>
-ODBC is an abstract API which allows you to write standard "ODBC" code,
-using the ODBC API.
+<acronym>ODBC</acronym> (Open Database Connectivity) is an abstract 
+<acronym>API</acronym> 
+which allows you to write standard "ODBC" applications.
+<acronym>ODBC</acronym> provides a product-neutral interface 
+between frontend applications and database servers,
+allowing a user or developer to write applications which are portable among servers.
 
 <Sect1>
 <Title>Background</Title>
 
 <Para>
-The ODBC API matches up on the backend to an ODBC compatible data source.
-This could be anything from a text file to an Oracle RDBMS.
+The <acronym>ODBC</acronym> <acronym>API</acronym> matches up 
+on the backend to an <acronym>ODBC</acronym>-compatible data source.
+This could be anything from a text file to an Oracle or 
+<productname>Postgres</productname> <acronym>RDBMS</acronym>.
 
 <Para>
-The backend access come from ODBC drivers, or vendor specifc drivers that
-allow data access.   PostODBC is such a driver, along with others that are
-available, such as the OpenLink ODBC drivers.
+The backend access come from <acronym>ODBC</acronym> drivers, or vendor specifc drivers that
+allow data access.   <productname>psqlODBC</productname> is such a driver, along with others that are
+available, such as the OpenLink <acronym>ODBC</acronym> drivers.
 
 <Para>
-Once you write an ODBC application, you SHOULD be able to connect to ANY
+Once you write an <acronym>ODBC</acronym> application, you SHOULD be able to connect to ANY
 back end database, regardless of the vendor, as long as the database schema
 is the same.
 
 <Para>
-For example. you could have MS SQL Server and PostgreSQL servers which have
-exactly the same data.  Using ODBC, your Windows app would make exactly the
+For example. you could have <productname>MS SQL Server</productname>
+ and <productname>Postgres</productname> servers which have
+exactly the same data.  Using <acronym>ODBC</acronym>, your Windows app would make exactly the
 same calls and the back end data source would look the same (to the windows
 app).
 
+<para>
+<ulink url="http://www.insightdist.com/">Insight Distributors</ulink> provides active and ongoing
+support for the core <productname>psqlODBC</productname> distribution. They provide a
+<ulink url="http://www.insightdist.com/psqlodbc/"><acronym>FAQ</acronym></ulink>, ongoing development
+on the code base, and actively participate on the 
+<ulink url="mailto:interfaces@postgresql.org">interfaces mailing list</ulink>.
+
+<sect1>
+<title><productname>Windows</productname> Applications</title>
+
 <Para>
-In the real world, differences in drivers and the level of ODBC support
-lessens the potential of ODBC:
+In the real world, differences in drivers and the level of <acronym>ODBC</acronym> support
+lessens the potential of <acronym>ODBC</acronym>:
 
 <SimpleList>
 <Member>
-Access, Delphi, and Visual Basic all support ODBC directly.
+Access, Delphi, and Visual Basic all support <acronym>ODBC</acronym> directly.
 
 <Member>
-Under C++, such as Visual C++, you can use the C++ ODBC API.
+Under C++, such as Visual C++, you can use the C++ <acronym>ODBC</acronym> <acronym>API</acronym>.
 
 <Member>
-In Visual C++, you can use the CRecordSet class, which wraps the ODBC API
-set within and MFC 4.2 class.  This is the easiest route if you are doing
+In Visual C++, you can use the CRecordSet class, which wraps the 
+<acronym>ODBC</acronym> <acronym>API</acronym>
+set within an MFC 4.2 class.  This is the easiest route if you are doing
 Windows C++ development under Windows NT.
 </SimpleList>
 
 <Para>
-If I write an app for PostgreSQL can I write it using ODBC calls
-to the PostgreSQL server, or is that only when another database program 
+If I write an app for <productname>Postgres</productname> 
+can I write it using <acronym>ODBC</acronym> calls
+to the <productname>Postgres</productname> server, or is that only when another database program 
 like MS SQL Server or Access needs to access the data?
 
 <Para>
-Again, the ODBC API set is the way to go.   You can find out more at
-Microsoft's web site or in your Visual C++ docs (if that's what you are
-using.)
+Again, the <acronym>ODBC</acronym> <acronym>API</acronym> set is the way to go.
+You can find out more at
+Microsoft's web site or in your Visual C++ docs (if that's what you are using.)
 
 <Para>
-Visual Basic and the other RAD tools have Recordset objects that use ODBC
+Visual Basic and the other RAD tools have Recordset objects that use <acronym>ODBC</acronym>
 directly to access data.  Using the data-aware controls, you can quickly
-link to the ODBC back end database (<Emphasis>very</Emphasis> quickly).
+link to the <acronym>ODBC</acronym> back end database (<Emphasis>very</Emphasis> quickly).
 
 <Para>
 Playing around with MS Access will help you sort this out.  Try using
@@ -88,11 +112,107 @@ You'll have to set up a DSN first.
 </Para>
 </Tip>
 
+<!--
 <Para>
 <Tip>
 <Para>
-The PostgreSQL datetime type will break MS Access.
+The <productname>Postgres</productname> datetime type will break MS Access.
 </Para>
 </Tip>
+-->
+
+<sect1>
+<title><productname>Unix</productname> Applications</title>
+
+<para>
+<productname>ApplixWare</productname> has an <acronym>ODBC</acronym> database interface
+supported on at least some platforms. <productname>ApplixWare</productname> v4.4.1 has been
+demonstrated under Linux with <productname>Postgres</productname> v6.4 
+using the <productname>psqlODBC</productname>
+driver contained in the <productname>Postgres</productname> distribution.
+
+<sect2>
+<title>Configuration Files</title>
+
+<para>
+The <filename>~/.odbc.ini</filename> contains user-specified access information 
+for the <productname>psqlODBC</productname>
+driver. The file uses conventions typical for <productname>Windows</productname> 
+Registry files, but despite this
+restriction can be made to work.
+
+<para>
+Here is an example <filename>.odbc.ini</filename> file, 
+showing access information for three databases:
+
+<programlisting>
+[ODBC Data Sources]
+DataEntry = Read/Write Database
+QueryOnly = Read-only Database
+Test = Debugging Database
+Default = Postgres Stripped
+
+[DataEntry]
+ReadOnly = 0
+Servername = localhost
+Database = Sales
+
+[QueryOnly]
+ReadOnly = 1
+Servername = localhost
+Database = Sales
+
+[Test]
+Debug = 1
+CommLog = 1
+ReadOnly = 0
+Servername = localhost
+Username = tgl
+Password = "no$way"
+Port = 5432
+Database = test
+
+[Default]
+Servername = localhost
+Database = tgl
+Driver = /opt/postgres/current/lib/libpsqlodbc.so
+
+[ODBC]
+InstallDir = /opt/applix/axdata/axshlib
+</programlisting>
+
+<para>
+For Applix, here is an example ~/axhome/macros/login.am file:
+<programlisting>
+macro login
+        set_set_system_var@("sql_username@","tgl")
+        set_system_var@("sql_passwd@","no$way")
+endmacro
+</programlisting>
+
+<sect1>
+<title>Supported Platforms</title>
+
+<para>
+<productname>psqlODBC</productname> has been built and tested 
+on <productname>Linux</productname>. There have been reports of success 
+with FreeBSD and with Solaris.
 
 </Chapter>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/catalog"
+sgml-local-ecat-files:nil
+End:
+-->