View Issue Details

IDProjectCategoryView StatusLast Update
0000653Port RequestsPort Requestpublic2015-10-22 05:18
ReporterperAssigned To 
PrioritynormalSeverityminorReproducibilityN/A
Status newResolutionopen 
Summary0000653: Porting unixODBC 2.3.2
DescriptionThe unixODBC Project goals are to develop and promote unixODBC to be the definitive standard for ODBC on non MS Windows platforms.
Additional Informationhttp://www.unixodbc.org/
TagsNo tags attached.

Activities

jep

2015-06-29 13:30

reporter   ~0003044

Last edited: 2015-06-29 13:32

View 2 revisions

unixODBC is at ODBC level 3.8 which is the current version on other platforms and can use older drivers like the 2.5 and 3.0-versions.

The project has been separated into separate parts, on for the "engine" and another for the GUI (Qt4). So one developer can work on one part and the other on the other?
_____
unixODBC for OS/2 contain support for REXX, through Mark Hesslings rexxODBC.
Would it be possible to ask for that as well?
_____
I have been unable to get a reply from the author Lorne Sunley (lsunley[at]mb.sympatico.ca) who ported unixodbc 0.10 as he got some OS/2 specific source code for the drivers and java.
_____
Updated drivers would be nice, as well as support for Office applications on one side and "bridged ODBC"/"database neutral" driver (to other platform with some special database engine) on the other.
_____
dbf and SQLite support would be very welcome.

per

2015-08-09 04:04

reporter   ~0003045

Could this be something?

https://github.com/openlink/iODBC

Quote from the read me:
"Porting of iODBC driver manager to some non-UNIX operating systems
    such as Windows family(3.x, 95, NT), OS/2 and Mac Classic is
    supported but has not been compiled and tested recently. Of cause,
    you need to supply a make/build file and a short LibMain for creating
    the iodbc.dll."

psmedley

2015-08-10 11:10

administrator   ~0003047

a build of unix odbc 2.3.2 is at http://smedley.id.au/tmp/unixodbc-2.3.2-os2-20150810.zip

This is a straight ./configure / make and is not tested as I don't know how to use this :)

psmedley

2015-08-22 07:39

administrator   ~0003049

http://smedley.id.au/tmp/unixodbc-2.3.2-os2-20150822.zip now includes DLL versions of drivers for nn (whatever that is), template, postgresql & sqlite3

Trying to build the mysql odbc driver now too.

per

2015-08-27 04:23

reporter   ~0003050

This looks very promising.
Believe nn is for the NNTP driver.

psmedley

2015-08-31 19:29

administrator   ~0003051

anyone tested this yet?

per

2015-09-03 01:58

reporter   ~0003052

Yes, but I'm confused with these template files, they're needed to get the ini's right? Driver for sqlite3 is there but no template file, also I need driver and template for odbc (dBaseIV) files.

psmedley

2015-09-05 06:53

administrator   ~0003053

sorry, I know nothing (well nearly nothing) about using unixodbc. I'll try set it up this weekend.

I haven't found a driver for dbase files as yet that I can compile...

psmedley

2015-09-05 18:34

administrator   ~0003054

I don't have sqlite databases to test against, but from the README for the sqlite odbc driver:
To setup a SQLite data source using unixODBC (www.unixodbc.org):

  1. Add the driver to /etc/odbcinst.ini:

    [SQLite]
    Description=SQLite ODBC Driver
    Driver=/usr/local/lib/libsqliteodbc.so
    Setup=/usr/local/lib/libsqliteodbc.so
    Threading=2

  2. Add a DSN to your private ~/.odbc.ini:

    [mysqlitedb]
    Description=My SQLite test database
    Driver=SQLite
    Database=/home/johndoe/databases/mytest.db
    # optional lock timeout in milliseconds
    Timeout=2000


paths need to be updated - as does the DLL name.

Trying to build mysql odbc driver so that I can test locally...

psmedley

2015-09-06 07:51

administrator   ~0003055

ok, making some progress locally. parsing of odbc.ini was broken, fixed now, but myodbc3.dll not loading (yet) - will post an updated link when I have it working

psmedley

2015-09-06 09:04

administrator   ~0003056

OK updated build which now includes myodbc3.dll is at http://smedley.id.au/tmp/unixodbc-2.3.2-os2-20150906.zip

Running:
isql -v myodbc3 now gives:
[e:\unixodbc\bin]isql -v myodbc3
TlsAllocThreadLocalMemory error: init already done!
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>

This is with an odbc.ini that contains:
[ODBC Data Sources]
myodbc3 = MyODBC 3.51 Driver DSN

[myodbc3]
Driver = /unixodbc/lib/myodbc3.dll
Description = Connector/ODBC 3.51 Driver DSN
SERVER = localhost
PORT =
USER = root
Password = ********
Database = os2ports
OPTION = 3
SOCKET =

[Default]
Driver = /unixodbc/lib/myodbc3.dll
Description = Connector/ODBC 3.51 Driver DSN
SERVER = localhost
PORT =
USER = root
Password =
Database = test
OPTION = 3
SOCKET =

psmedley

2015-09-06 19:32

administrator   ~0003057

Updated build based on 2.3.4 source - http://smedley.id.au/tmp/unixodbc-2.3.4-os2-20150906.zip

psmedley

2015-09-06 20:55

administrator   ~0003058

btw I see no support for dbf/xbase on any platform....

per

2015-09-07 04:21

reporter   ~0003059

There is one in the unixODBC 010 package, cant say for sure if it was me or bugs in that driver that prevented it from working on my system. (Have heard rumors that it contained some bugs.) Doubt I'll find some sources since you've already searched for it, but I will try to find something.

David McKenna

2015-09-07 14:37

reporter   ~0003060

I've been trying to get this to work, but it seems to be missing setup lib files and template files. I looked at the source in the hope of finding them, and it does seem there are sections for building them...

psmedley

2015-09-09 19:02

administrator   ~0003061

Dave - which backend? I've tested the mysql plugin using isql and can get a connection here without a template....

David McKenna

2015-09-12 10:08

reporter   ~0003062

Hi Paul,

 I don't see templates or setup libs for any backend. I have been able to connect to mysql using your manual method, but according to this page: http://www.unixodbc.org/odbcinst.html and the man pages, I should be able to install a driver with a template file using:

'odbcinst -i -d -f <template file>' for the driver and

'odbcinst -i -s -l -f <template file>' for the setup parameters in odbc.ini

 The driver is a lib like 'myodbc3.dll' and the setup lib should be the same with an 'S' like 'myodbc3s.dll'. I tried creating a template file like the page above describes, and it works for the driver file, but since there is no setup lib, I can't get anything useful into ODBC.INI. Frustratingly, the ODBC.INI man page is empty!
  I looked in the source and there is a folder (DRVConfig) containing code for a whole bunch of setup files (even some with no drivers in the source) but I have no clue even where to begin to compile them....

psmedley

2015-09-12 19:01

administrator   ~0003063

I don't see from the source for myodbc how to create the myodbc3s.dll - I'll look again when I get time.....

David McKenna

2015-09-13 02:08

reporter   ~0003064

Paul,

  I believe there is code for it in the unixODBC source under the DRVConfig\MySQL directory.

psmedley

2015-09-13 08:02

administrator   ~0003065

Dave - myodbc is built from the source at https://dev.mysql.com/downloads/connector/odbc/3.51.html

per

2015-10-22 05:18

reporter   ~0003066

Wonder if it could be an idea to have a look at the dbf driver in unixODBC010. Did a new test with it using the supplied SampleDBF and one of my own dBaseIV files. I managed to use the SQL Query tool to correctly list the contents of both files, but using the Database Manager it displays one table and 6 fields for the sample dbf and 0 tables and 0 fields for my test dbf. Perhaps this old driver can be used for dbf/dBase files under a new version of the Database Manager?

Issue History

Date Modified Username Field Change
2015-06-28 22:37 per New Issue
2015-06-29 13:30 jep Note Added: 0003044
2015-06-29 13:32 jep Note Edited: 0003044 View Revisions
2015-08-09 04:04 per Note Added: 0003045
2015-08-10 11:10 psmedley Note Added: 0003047
2015-08-22 07:39 psmedley Note Added: 0003049
2015-08-27 04:23 per Note Added: 0003050
2015-08-31 19:29 psmedley Note Added: 0003051
2015-09-03 01:58 per Note Added: 0003052
2015-09-05 06:53 psmedley Note Added: 0003053
2015-09-05 18:34 psmedley Note Added: 0003054
2015-09-06 07:51 psmedley Note Added: 0003055
2015-09-06 09:04 psmedley Note Added: 0003056
2015-09-06 19:32 psmedley Note Added: 0003057
2015-09-06 20:55 psmedley Note Added: 0003058
2015-09-07 04:21 per Note Added: 0003059
2015-09-07 14:37 David McKenna Note Added: 0003060
2015-09-09 19:02 psmedley Note Added: 0003061
2015-09-12 10:08 David McKenna Note Added: 0003062
2015-09-12 19:01 psmedley Note Added: 0003063
2015-09-13 02:08 David McKenna Note Added: 0003064
2015-09-13 08:02 psmedley Note Added: 0003065
2015-10-22 05:18 per Note Added: 0003066