Ошибка подключения к базе данных Access в сети

1805

У меня есть два компьютера, подключенных друг к другу через WAN.

Я поделился папкой, содержащей Access Databaseи я даю разрешение всем на все в самой базе данных.

Теперь код, который я использую:

string connectionString = string.Empty; connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\winPcDemo-570f\abcd\testDB.mdb; Jet OLEDB:Database Password=**********;"; OleDbConnection tmpconnection = new OleDbConnection(connectionString);  tmpconnection.Open(); // ERROR  

Но это приводит к ошибке:

Ошибка диска или сети.

В отличие от любого другого вопроса на этом сайте, поэтому я публикую это.

0
Могут ли пользователи получить доступ к `\\ winPcDemo-570f \ abcd \ testDB.mdb` из проводника? BlueRaja - Danny Pflughoeft 11 лет назад 0
Нет, это не то, что беспокоит меня, так как я могу получить доступ к папкам на моем компьютере из winPcDemo-570f. 11 лет назад 1
у вас есть права на чтение и выполнение? MUG4N 11 лет назад 0
Я думал, что что-то не так с строкой подключения или каким-либо другим способом подключения! 11 лет назад 0
Прекратите использовать доступ, SQL Express бесплатен, и вы можете импортировать Access в SQL без проблем. Если у вас есть формы доступа или отчеты и т. Д., Которые используют эту базу данных, создайте связанные таблицы с вашим хранилищем SQL через соединения ODBC. Доступ был потрясающим в свое время, его отчеты были революционными LordWabbit 11 лет назад 0

2 ответа на вопрос

0
pipTheGeek

It would be helpful if you tried accessing \\Macbookpro-570f\abcd\ from explorer to check if there is a problem with the network or share setup. (Update your answer with the result).

My first thought though is permissions. Access requires sufficient permissions to create its .ldb file in the same folder as well as being able to modify the .mdb file. Windows shares have 2 sets of permissions that apply. First is the permissions on the share, second is the actual NTFS permissions on the file / folder. You need to ensure that BOTH of these permission sets grants the correct user sufficent permissions to modify the mdb and create the ldb.

Я даю полный контроль над всеми, кто находится в папке, а база данных остается той же проблемой. 11 лет назад 0
@confusedMind - извините за повторение, но вы предоставили всем полный контроль над папкой и общим ресурсом? Кроме того, как насчет доступа к сетевому ресурсу из проводника? Могут ли оба компьютера получить доступ к общей сети? pipTheGeek 11 лет назад 0
0

I would try mapping the path to a drive letter. Go to the command prompt (might need to open as administrator) and do the following:

net use q: \\winPcDemo-570f\abcd mypassword /USER:myaccount 

(mypassword and my account should be your credentials if necessary. You can use another drive letter besides q if necessary also.)

Then, you can use

Data Source=Q:\testDB.mdb 

instead of

Data Source=\\winPcDemo-570f\abcd\testDB.mdb 

I think it should work the way you've specified, but perhaps this would allow you to rule out whether its a code issue or an OS/privilege issue.

Hope this helps!

Подключенные диски - путь, использование путей UNC добавляет много проблем с разрешениями. Когда вы выгружаете аутентификацию безопасности на подключенный диск, это решает много проблем при работе с базами данных доступа. При этом, прекратите использовать доступ, SQL Express бесплатен, и вы можете импортировать Access в SQL без каких-либо проблем. Если у вас есть формы доступа или отчеты и т. Д., Которые используют эту базу данных, создайте связанные таблицы с вашим хранилищем SQL через соединения ODBC. Доступ был потрясающим в свое время, его отчеты были революционными LordWabbit 11 лет назад 0