问题:连接两台机器上的数据库,是两台都装ODBC吗?然后怎么办?怎么操作配置?
关于
一、如果是同一台机器上,可以使用如下两种方式访问另一个MDB:
(1)其中表名是在db2中的表名
SELECT *
from 表名 in
‘C:\db2.mdb’
(2)其中表名是在db2中的表名
select *
from [;database=C:\db2.mdb].表名
追加到本机的另一个MDB中:
insert into
目标MDB的表名(字段列表) in
‘C:\db2.mdb’
select 字段列表
from 当前MDB的表名
或
insert into
[;database=C:\db2.mdb].目标MDB的表名(字段列表)
select
字段列表 from 当前MDB的表名
二、如果访问另一台机器上的MDB,可以使用链接表、传递查询、或直接用SQL:
(1)使用链接表时,建议使用文件数据源创建链接表,与机器无关,拷贝到别的机器上可以直接使用,无须再手工或用代码创建ODBC。
三种数据源比较:
文件DSN
ODBC文件数据源允许用户连接到数据提供程序。文件DSN可以由安装了相同驱动程序的用户共享。
用户DSN
ODBC用户数据源存储了如何与指定数据提供程序连接的信息。用户数据源只对当前用户可见,而且只能用于当前机器上。
系统DSN
ODBC系统数据源村除了如何与指定数据提供程序连接的信息。系统数据源对当前机器上的所有用户可见,包括NT服务。
(2)传递查询,需要将连接串保存到传递查询中,但效率比链接表要高。
(3)使用Jet-SQL语句访问:
可以直接用机器名访问,如:
SELECT *
FROM [;DATABASE=\\Server\共享文档\Test.MDB].表名
也可以先将另一台机器上的共享目录映射成本地磁盘,就和访问本地的MDB一样了。
假设另一台机器IP为192.168.0.1,机器名为Server,共享的文件夹名字为“共享目录”,创建映射成本地的磁盘(如:Z)后
SELECT *
FROM [;DATABASE=Z:\Test.MDB].表名
————————————————————————————–
ODBC连通,在表->新建->连接表中建立连接表;
JET SQL:
SELECT *
FROM DD IN
ODBC[ODBC;Driver=SQL
Server;UID=sa;PWD=;Server=服务器名;
DataBase=数据库名];