У меня есть приложение ASP.NET, написанное на C # и размещенное на IIS6 Win2k3. Это веб-приложение подключается через код к базе данных Access 2007, которая содержит списки Sharepoint в таблицах.
Чтобы получить представление о том, как это работает, вы можете перейти сюда:
http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/Post.aspx?ID=68
Проблема в том, что для базы данных Access 2007 установлен режим «Работа в сети с помощью Sharepoint», и мое приложение не может правильно подключиться и получить записи. Если я переведу базу данных в режим «Работа в автономном режиме», у моего веб-приложения не возникнет проблем с подключением и извлечением записей из базы данных.
Вот некоторые строки подключения, которые отлично работают в режиме «Работа в автономном режиме»:
string objConnString = "Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=" + Server.MapPath("~/App_Data/Application.accdb"); // this works offline mode.
string objConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("~/App_Data/ Application.accdb ") + ";Persist Security Info=True";
In “Working online with Sharepoint” mode the application will just sit and load all day long. Here are some strings I have tried:
string objConnString = "Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=" + Server.MapPath("~/App_Data/Application.accdb");
// No credentials are passed so doesn’t work as expected.
string objConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("~/App_Data/ Application.accdb") + @"User iD=User; Password=Pass ";
// Имя пользователя и пароль идентичны тем, которые запрашиваются Access 2007 при открытии базы данных с активированным режимом «Работа в сети с Sharepoint».
Я предоставил даже обычной учетной записи интернет-пользователя и учетной записи asp.net полный контроль над этой базой данных, чтобы эта часть не была проблемой. Как я уже сказал, он работает в режиме «Работа в автономном режиме», что подтверждает это.
Эта проблема, по-видимому, заключается в том, что когда приложение передает имя пользователя и пароль в Access 2007, оно по-прежнему не позволяет извлекать записи. Когда я открою базу данных в Access 2007, мне будет предложено ввести мои учетные данные; Я ввел те же учетные данные, что и в строках соединения, которые не работают.
Мне также было интересно, можно ли просто сохранить имя пользователя и пароль в самом Access 2007, чтобы их вообще не запрашивали.
У кого-нибудь есть идеи или строки подключения, которые могут заставить эту вещь работать?
Заранее спасибо.