个人工具

UbuntuHelp:ODBC

来自Ubuntu中文

跳转至: 导航, 搜索

<<Include(Tag/NeedsExpansion)>> Ubuntu supports ODBC connections to databases (such as a remote MySQL server). Whilst this is not normally useful, The database in OpenOffice can use ODBC connections, and it may be convenient to set one up.

Installing the MySQL Database ODBC Driver

Get the linux MySQL ODBC driver. The console incantation is apt-get install libmyodbc and synaptic will provide a similar install. Now hand edit (or create, if it does not exist already) /etc/odbc.ini Here's an example odbc.ini:

[ODBC Data Sources]
odbcname     = MyODBC 3.51 Driver DSN

[odbcname]
Driver       = /usr/lib/odbc/libmyodbc.so
Description  = MyODBC 3.51 Driver DSN
SERVER       = my.database.server.com
PORT         =
USER         = USER
Password     = XXXXXX
Database     = DBNAME
OPTION       = 3
SOCKET       =

[Default]
Driver       = /usr/local/lib/libmyodbc3.so
Description  = MyODBC 3.51 Driver DSN
SERVER       = localhost
PORT         =
USER         = root
Password     =
Database     = test
OPTION       = 3
SOCKET       =

It is now possible to connect to the database DBNAME using the ODBC connection odbcname

Installing the Firebird Database ODBC Driver

The Firebird ODBC driver is not in the Ubuntu repositories so it has to be downloaded from the FirebirdSQL site: [1] It contains a single file named "libOdbcFb.so". Copy this file to the /usr/lib directory. Next make sure you have the Firebird client library installed: apt-get install libfbclient2 Openoffice and probably a few other programs will insist on using a driver named libgds.so for connecting to a Firebird database. A symbolic link will have to be created: ln -s /usr/lib/libfbclient.so.2 /usr/lib/libgds.so At this point you are ready to add some entries to the odbc config files. If they don't already exist you can create them. Here's another example odbc.ini:

[DBNAME]
Description = Firebird
Driver = Firebird
Dbname = localhost:/var/lib/firebird/2.1/data/employee.fdb
User = SYSDBA
Password = xxxxx
Role =
CharacterSet =
ReadOnly = No
NoWait = No

And the relevant entries for the odbcinst.ini file:

[Firebird]
Description = InterBase/Firebird ODBC Driver
Driver = /usr/lib/libOdbcFb.so
Setup = /usr/lib/libOdbcFbS.so
Threading = 1
FileUsage = 1
CPTimeout =
CPReuse =

You should now be able to connect to DBNAME from OpenOffice or other programs using the ODBC connection method.