2015-07-07 6 views
0

У меня проблема с подключением к файлам DBF на удаленном месте с использованием OleDb. Когда я использую локальный путь, все работает нормально.Чтение с удаленного места VisualFoxPro .DBF

Моя строка соединения:

string path_dbf = @"\\server\directory"; 
OleDbConnection conn = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source="+path_dbf+";"); 

Я пытался использовать OleDb и ODBC, но оба потерпели неудачу, когда я использую удаленное местоположение. Я также пытаюсь использовать сопоставленную директорию в ОС, но она не работает.

Я получаю сообщение об ошибке:

Error: Sys.Net.WebServiceFailedException: The server method 'MethodName' failed with the following error: System.Data.OleDb.OleDbException-- Invalid path or file name.

Я также попробовать использовать ODBC DSN, как это:

OdbcConnection conn = new OdbcConnection("dsn=MyDsnName;"); 

, но он не работает. MyDsnName является типом каталога Free Table и указывает на мой удаленный каталог.

У меня нет идеи какого-либо возможного решения. Так что я хочу спросить, есть ли какие-то дополнительные параметры строки подключения, чтобы сделать это, или я что-то не так.

Спасибо.

ответ

0

Это, вероятно, проблема с правами доступа при работе в качестве веб-приложения. Пользователь, который может быть чем-то вроде «USR_MACHINE», может не иметь надлежащих разрешений для другого местоположения сервера и, таким образом, не работает.

Чтобы подтвердить это, попробуйте изменить сервис своего веб-сайта на «Запустить как» другого пользователя, у которого есть разрешения, такие как вы ... если STILL не проблема, а затем попробуйте запустить .net, поскольку ТОЛЬКО ДЛЯ АДМИНИСТРАТОРА ДЛЯ ПОДТВЕРЖДЕНИЯ ЦЕЛЕЙ , затем вернитесь обратно в учетную запись USR_MACHINE.

После того, как вы подтвердите, вам может понадобиться создать несколько ограниченного пользователя, чтобы у них был доступ к папке и функциям, которые вы хотите использовать для целей безопасности.

+0

Спасибо за ответ. Ваш ответ мне очень помогает. Я устанавливаю идентификатор ApplicationPool для пользователя, у которого есть разрешение на удаленный каталог, и он отлично работает. – TomAsh