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

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值