本來想實現在linux下連接ACCESS的功能,但是進展部順利。沒有成功。
起因是由於同事在window上sqlserver的數據保存到了m$ ACCESS數據庫文件中。這個被市場的同學拿到之後又給轉化成excell了,並且數據量很大。實在很難處理。索性想直接去取這個 .mdb 的access文件來讀取裏面的信息。
google了一把。需要安裝mdbtoos,mdb-odbc, unixODBC,
unixODBC是個不錯的東西,起碼我裝了之後可以用起來。 連我的mysql沒有問題,只要安裝一個mysql-connect-odbc類似的插件就OK了。
但是一直沒有弄好連接 .mdb。命令行下使用 mdbtools卻沒有問題。
配置好odbc之後:
$ isql -v test
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> help
Error at Line : syntax error near exec
[08001][unixODBC]Couldn't parse SQL
[ISQL]ERROR: Could not SQLTables
$isql -v mysql
這個卻工作的很正常。也不知道什麼原因了。
-------->odbcinst.ini
[mdb]
Description = M$ ACCESS
Driver = /usr/lib/libmdbodbc.so
Setup =
FileUsage = 1
CPTimeout =
CPReuse =
[MySQL]
Description = Myodbc driver for MySQL
Driver = /usr/lib/libmyodbc3.so
Setup = /usr/lib/libodbcmyS.so
[MySQL ODBC 3.51 Driver]
DRIVER = /usr/lib/libmyodbc3.so
UsageCount = 1
-------->odbc.ini
[test]
Description = Microsoft Access Database of Dogs
Driver = mdb
Database = /home/test/a.mdb
Servername = localhost
UserName =
Password =
port = 5432
[MySQL]
Description = MySQL test database
Driver = MySQL
Trace = No
TraceFile =
Servername = localhost
UserName = root
Password = ******
PORT = 3306
Database = test