2013-08-22 71 views
2

我有一个连接有服务器和多台计算机的网络。我有许多客户端访问和使用的服务器上安装了一个软件。当从网络中的一台电脑连接到另一台电脑时,访问Access数据库被拒绝

现在我创建了一个使用c#/Winforms的报告工具。总之,它连接到Access数据库并创建报告。而网络上的每个PC包含Access数据库,所以我们给路径,DB和它为我们连接使用像路径PC报告:

\ WinPc \ Tmuser \数据库\ users.mdb

WinPc是计算机名称,Tmuser是包含数据库的pc上的共享文件夹。这可以很好地工作,当我有人工服务器上的应用程序(c#/ Winform)时,它可以连接到任何pc并生成报告。

但是当我把在任何一台PC的工具,并就其他PC DB的路径提示错误如下:

enter image description here

,我无法弄清楚,为什么这个错误显示出来,当我检查资源管理器中的路径,它打开访问Db就好了。如果您有任何建议,请让我知道。

+0

根据错误消息它说数据库已被其他用户独占打开?看看这个http://stackoverflow.com/questions/8229622/access-database-already-exclusively-opened-by-other-other-user – Tommassiov

+0

@ Tommo1977,但是为什么它在服务器上工作得很好。问题是当它在网络上的一台电脑上。 – confusedMind

回答

1

问题在于权限,它连接的PC太需要凭据,因为它来自另一台PC,而不是服务器,所以它不让它打开文件......更改当前用户到domain account工作

1

正如错误所述,数据库是由另一个用户独占打开的。

我会建议,因为你有很多的电脑,可能会尝试访问数据库是做一个服务器端客户端项目,所以每个客户端发送请求写一条线到主服务器,并在服务器端主服务器会将这些请求写入数据库,这样只有一台计算机会写入数据库,并且没有人会锁定数据库,并且我也许看不到您的代码,但是我猜你忘记了在某个时候释放数据库。在使用流或连接时总是使用Using声明

+0

它不是这种情况下,如果我只是使用服务器上的应用程序连接到相同的数据库它会连接好。数据库没有锁定它只是不会让我打开它时,在另一台电脑上。 – confusedMind

+0

@confusedMind如果确实是这种情况,那么你有权限问题,并且我建议的服务器客户端程序将工作,并可能会更好,然后让其他PC在主服务器上的数据库权限... –

+0

假设其他电脑需要凭据登录,当使用资源管理器也可以在上述错误的情况下呢? – confusedMind

相关问题