注册 登录
编程论坛 VB6论坛

VB程序访问共享文件问题

m446781380 发布于 2023-04-06 16:59, 1058 次点击
我用VB6.0+access写了一个人事信息管理系统。使用的是activeX控件方式连接。conn.Open "provider=microsoft.jet.oledb.4.0;data source=" + App.Path + "\数据库名.mdb"   这个语句执行本地文件是OK的。替换app.path 为共享文件的地址,我在同一IP网段的局域网内测试也是OK的。但是更换到不同IP网段的电脑上共享,就无法找到文件了。(PS:电脑本身能通过网络找到另一台不同IP网段的共享文件)。
我将共享文件映射到本地,同样报错。
有没有大神懂这个东东,可能是什么原因造成的,怎么解决?
5 回复
#2
wds12023-04-07 08:08
应该是共享权限问题。

正常不同设备共享,一般设置用户+密码,如果不设置可能不允许访问。
先解决远程共享访问问题,例如开启NetBIOS协议,增加远程访问用户+密码验证等。

判断共享方法如下:
 1、共享访问运行--输入\\IP\share(共享文件名)来访问远端服务器的共享文件;
 2、远程共享服务,得开启来宾访问(guest);
 3、共享服务器是否开通了防火墙,是否开通了135,139,445的端口



[此贴子已经被作者于2023-4-7 08:22编辑过]

#3
东海ECS2023-04-07 20:49
这个问题可能是由于网络共享权限设置不正确导致的。在不同IP网段的电脑上,可能需要在共享文件夹的属性中进行以下设置:

1. 在“共享”选项卡中,确保“共享此文件夹”选项已选中,并设置共享名称。
2. 在“共享权限”选项卡中,确保“Everyone”用户组被添加到共享权限列表中,并设置为“完全控制”权限。
3. 在“安全”选项卡中,确保“Everyone”用户组被添加到安全权限列表中,并设置为“读取和执行”权限。

如果以上设置已经正确配置,但仍然无法访问共享文件,可能是由于防火墙或其他网络安全设置阻止了访问。您可以尝试关闭防火墙或者检查其他网络安全设置,以确保VB程序可以访问共享文件。
#4
lwlskydy2023-05-07 16:02
楼主在同一IP网段的局域网内测试,访问的电脑是连接无线网络,还是有线网络,我之前也是像你这样,将数据库放在另一个电脑上,设置共享文件夹,修改连接数据库字符串,可是无法访问数据库。
我用的是笔记本连接同一个路由器下的无线网络,要访问局域网内的数据库,是不是都必须使用有线连接?
#5
m4467813802023-05-08 15:39
回复 4楼 lwlskydy
我做测试的时候,数据源放在了笔记本上,使用无线网络。客户端分别在另一台笔记本(无线网络)和台式电脑(有线网络)都测试过,连接正常。楼上的两位大佬给的方法也是正确的,你需要按照他们的提供的方法设置。将共享文件夹设置为无密码访问。我之所以在公司的电脑上跨IP网段无法访问,是因为公司的电脑有设置工作组,防火墙屏蔽了。现在已经解决问题了。
#6
yuma2023-05-10 18:50
这种问题通常是由于共享文件的访问权限不正确引起的。您可以尝试以下几种方法解决:
确保您正在以正确的身份验证方式连接到共享文件。如果您使用了用户名和密码进行连接,请确保它们是正确的,并且具有访问共享文件的权限。
尝试在连接字符串中使用完整的网络路径而不是映射的本地路径。例如:
conn.Open "provider=microsoft.jet.oledb.4.0;data source=\fileserver\share\database.mdb"
检查您的防火墙设置,确保允许访问共享文件的流量通过。确保您的网络设置已允许传入和传出的流量。
如果您在连接字符串中使用了IP地址,请确保您的网络设置正确,并且您的计算机可以访问该IP地址。
1