Difference between revisions of "Odbc"

From ArchWiki
Jump to: navigation, search
(MySQL and ODBC)
(MySQL and ODBC)
Line 53: Line 53:
 
This website got me going on ODBC with MySQL but left out somethings that were necessary for me
 
This website got me going on ODBC with MySQL but left out somethings that were necessary for me
 
to get it running. However this might be a good reference for someone.
 
to get it running. However this might be a good reference for someone.
 
  
 
http://mail.easysoft.com/pipermail/unixodbc-support/2004-August/000111.html
 
http://mail.easysoft.com/pipermail/unixodbc-support/2004-August/000111.html

Revision as of 22:53, 9 July 2006

MySQL, ODBC with OpenOffice Setup

This document shows how to set up ODBC in Arch first on your localhost and then extends the steps to setup ODBC on a server.

Packages To Install

Start by installing the unixodbc and myodbc

# pacman -Sy unixodbc
# pacman -Sy myodbc

Configure Your ini Files

Configure your "odbc.ini", ".odbc.ini", and "odbcinst.ini" file. Startinig with odbcinst.ini, Su to root and set up your /etc/odbcinst.ini file as follows

[MySQL]
Description     = ODBC Driver for MySQL
Driver          = /usr/lib/libmyodbc.so
Setup           = /usr/lib/libodbcmyS.so
FileUsage       = 1

Next set up your "odbc.ini" and ".odbc.ini" file. "It should be pointed out here that the ".odbc.ini" file is just like the "odbc.ini" file except that it is a file that gets saved in the user's home dir.

[MySQL-test]
Description     = MySQL database test
Driver          = MySQL
Server          = localhost
atabase         = test
Port            = 3306
Socket          = /tmp/mysql.sock
Option          =
Stmt            =

Create A Symbolic Link

Next we need to create a symlink for libmyodbc.so. To do this we need to go to /usr/lib/myodbc3-3.51.12.so or what the version of the module is and set up a symlink to libmyodbc.so

ln -s /usr/lib/libmyodbc3-3.51.12.so ./libmyodbc.so

Renamed Modules

OK, for this step I cheapskated it a little and simply renamed these files to agree with version of ODBC Arch was looking for.

cp libcrypto.so.0.9.8 libcrypto.so.0.9.7
cp libcrypto.so.0.9.8 libcrypto.so.0.9.7

Test Datbase

On my machine I run phpmyadmin so I already had a test database to use. If you don't have a test database then create one in MySQL.

Testing the ODBC

To set the ODBC connection run

isql MySQL-test

If you have a problem connecting then run

isql MySQL-test -v

A Couple Useful Websites

http://www.unixodbc.org/doc/OOoMySQL.pdf

This website got me going on ODBC with MySQL but left out somethings that were necessary for me to get it running. However this might be a good reference for someone.

http://mail.easysoft.com/pipermail/unixodbc-support/2004-August/000111.html

To work around error messages this next URL proved helpful so here it is as well.





___________ For a remote connection there are a couple of extra steps 1) hosts.all needs "mysqld: ALL" 2) verify port 3306 is listening by "netstat -ant" in shell 3) grant permission to individual IP in mysql http://www.cyberciti.biz/nixcraft/vivek/blogger/2006/03/how-do-i-enable-remote-access-to-mysql.php Grant access to new database If you want to add new database called foo for user bar and remote IP 202.54.10.20 then you need to type following commands at mysql> prompt:

mysql> CREATE DATABASE foo; mysql> GRANT ALL ON foo.* TO bar@'202.54.10.20' IDENTIFIED BY 'PASSWORD'; Grant access to existing database Let us assume that you are always making connection from remote IP called 202.54.10.20 for database called webdb for user webadmin then you need to grant access to this IP address. At mysql> prompt type following command for existing database:

mysql> update db set Host='202.54.10.20' where Db='webdb'; mysql> update user set Host='202.54.10.20' where user='webadmin';


From remote system type command:

$ mysql -u webadmin –h 65.55.55.2 –p You can also use telnet to connect to port 3306 for testing purpose:

$ telnet 65.55.55.2 3306

____________________________________________________ [MySQL-test] Description = MySQL database test Driver = MySQL Server = 192.168.0.2 Trace = Off TraceFile = stderr Database =foo Port = 3306 USER = adowns Password = boston Socket = /tmp/mysql.sock Option = Stmt =