Драйвер FoxPro oledb не позволяет осуществлять запись на серверы (WCF) - PullRequest
0 голосов
/ 15 января 2010

Хорошо, у нас есть служба WCF, работающая на одной машине на IIS6 + server2003 r2. эта служба должна записывать и читать в / из базы данных fox pro, которая находится на другом компьютере в сети - windows 2003 (возможно, r2).

После игры с разрешениями (как для файла fox pro, так и для олицетворения в WCF) нам, наконец, удалось прочитать его, но при попытке записи возникает исключение. (Мы знаем, что весь код DAL работает отлично).

Невозможно обновить курсор DEVENT, так как он доступен только для чтения. (Мы не используем курсор, это какая-то внутренняя реализация драйвера) Поставщик Microsoft OLE DB для Visual FoxPro

DEVENT - это имя таблицы.

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

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

Очевидно, проблема в том, чтобы использовать Fox Pro ... но у нас нет такого выбора. : D

Спасибо.

Edit:

Хорошо, мы проверили, что все файлы в каталоге не только для чтения. Мы также установили права доступа к папке и файлам для разных пользователей, компьютеров и встроенных учетных записей. Ничего из этого не имело значения. проблема может быть проблемой IIS? Мы не могли читать при использовании IIS5, потому что пользователь ASPNET не мог получить доступ к удаленным файлам. С тех пор мы перешли на II6 (который использует NETWORK SERVICE), получили доступ на чтение, но не на запись. поэтому мы попытались установить права администратора для любой учетной записи пользователя, смутно связанной с процессом (даже если это не безопасность), и нам не повезло. Таким образом, мы уверены, что это не проблема учетной записи пользователя на машине с Fox Pro. Есть другие идеи?

Ответы [ 3 ]

2 голосов
/ 15 января 2010

Не совсем уверен, почему вы обвиняете FoxPro, поскольку замечаете:

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

Определенно звучит как проблема с правами доступа к другому компьютеру. Я постоянно обращаюсь к данным Visual FoxPro на других машинах.

Помимо прав доступа, еще одна вещь, которую нужно проверить, это то, что файлы на другой машине действительно не помечены только для чтения. Проверьте настройки всех файлов DBC / DCX / DCT и DBF / CDX / FPT.

Рик Шуммер, VFP MVP

1 голос
/ 15 января 2010

Я бы согласился с Риком, если вы можете читать с БД, но не писать, тогда это проблема с разрешениями. Имеет ли учетная запись, которую вы используете для доступа к БД с другого сервера, права на запись? Также имеет ли учетная запись, к которой вы подключаетесь к другому серверу, одинаковые разрешения в обоих случаях?

0 голосов
/ 26 января 2010

У меня были некоторые проблемы с провайдером VFP OLEDB при использовании путей UNC. Если это то, что вы используете, возможно, вместо этого вы можете попробовать подключенные сетевые диски.

...