perl 在linux下連接 M$ ACCESS DB

本來想實現在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

 

 

 

發佈了63 篇原創文章 · 獲贊 2 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章