--共享远程ACCESS数据库所在的目录(ACCESS不支持SQL式的远程访问,只支持文件式访问,所以必须得共享目录),然后用类似下面的语句访问:SELECT *
FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\远程计算机名或IP地址\共享目录名\test.mdb";Jet OLEDB:Database Password=数据库密码')...[表名]
FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="\\远程计算机名或IP地址\共享目录名\test.mdb";Jet OLEDB:Database Password=数据库密码')...[表名]
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。
[OLE/DB provider returned message: Microsoft Jet 数据库引擎打不开文件'\\172.18.4.218\ymei\db.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。]
请问是什么问题。
对于172.18.4.218的这个机器,我的用户zhang已经是administrator权限了
--通过映射网络驱动器解决权限问题--1.映射
exec master..xp_cmdshell 'net use z: \\172.18.4.218\ymei "zhang的密码" /user:172.18.4.218\zhang'--2.进行查询
SELECT *
FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="z:\db.mdb";Jet OLEDB:Database Password=数据库密码')...[表名]--3.备份完成后删除映射
exec master..xp_cmdshell 'net use z: /delete'
但,我已经用net use * /del 命令把连接都删除了。
可是一执行exec master..xp_cmdshell 'net use z: \\172.18.4.218\ymei "zhang的密码" /user:172.18.4.218\zhang'还是会报1219错误。
现在考虑,把运行在服务器A上的服务程序所收到的数据先写入本地的,比如access或者excel或者xml都可以。然后在B机器的数据库中开一个job,定时去读这个文件,然后把数据库插入数据库中。
但现在的问题就是,如何让数据库读远程A机器上这个文件邹大哥,再帮忙扩张一下思路吧。没关系的。反正这个分肯定给你了。
1.在A服务器上也用SQL数据库,这样比文件式数据库好处理多了?也不用开什么共享2.为什么不在A服务器上写程序来实现写数据到B服务器? 这样因为B服务器是SQL数据库
也不用共享什么