Ошибка C # при доступе к базе данных доступа по локальной сети - PullRequest
0 голосов
/ 14 ноября 2011

Вот моя строка подключения:

sConnection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\" + lstNet.SelectedItem.ToString() + "\SharedDocs\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;";

lstNet - это список, содержащий все компьютеры, найденные в сети.

Я предполагаю, что с моей строкой подключения что-то не так.

Согласно веб-сайту Строки подключения, для доступа к базе данных по локальной сети используется следующий формат строки подключения:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverName\shareName\folder\myDatabase.mdb;User Id=admin;Password=;

Я предполагаю, что shareName - это то место, где происходит сбой моей строки подключения.Что такое shareName?И каковы общие имена Windows XP и Windows Vista / 7, если, скажем, я поместил свою базу данных в их общие документы / публичные файлы?

Я попытался изменить строку подключения следующим образом:

\C$\Users\Public\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;";

И я все еще получаю следующую ошибку:

"Формат строки инициализации не соответствует спецификации"

Могу ли я помочь вам с этим, пожалуйста?

РЕДАКТИРОВАТЬ: Попытка доступа к базе данных в разделе Public \ Documents компьютера с Windows Vista в моей сети со следующей строкой подключения:

\Public\Documents\Debug\App_File\ggbase.mdb;Jet OLEDB:Database Password=g3n3r4l;";

Я также попытался получить доступ к своей собственной (ПК с Windows 7)раздел local Public \ Documents, использующий ту же строку подключения, поскольку имя сервера можно изменить с помощью программы.

Все равно ничего.

Ответы [ 3 ]

1 голос
/ 14 ноября 2011

Попробуйте это:

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\serverName\shareName\folder\myDatabase.mdb; Jet OLEDB:Database Password=g3n3r4l;Persist Security Info=False;" 

Сначала вам нужно проверить, можете ли вы получить доступ к папке общего пути на клиентском ПК, и если она сможет получить к ней доступ, проблем не будет. Убедитесь также, что клиентПользователь является администратором, поэтому он может делать CRUD, используя ваше приложение.

С уважением

0 голосов
/ 11 октября 2013

// Попробуйте это ...

        string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\PIS(ACU).mdb;";
        Con = new OleDbConnection(@constr);
        Con.Open();
        Com = new OleDbCommand();
        Com.Connection = Con;
0 голосов
/ 14 ноября 2011

Ну, я на самом деле решил это.Вау.

Оказывается, в самом конце строки подключения из INI-файла была добавлена ​​дополнительная строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...