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

 

 

 

你可能感兴趣的:(mysql,linux,perl,database,Access,sqlserver)