Подключение к базе данных Access, которая связывается со списками SharePoint, используя C # - PullRequest
1 голос
/ 14 марта 2012

У меня есть оконное приложение, в котором я пытаюсь подключиться к базе данных Access, в которой есть таблица, ссылающаяся на список SharePoint, используя OLEDB в C #

Мои попытки:

  1. Используйте Access 2007 формат для базы данных и Microsoft.ACE.OLEDB.12.0 для ConnectionString
    • Все работает отлично, пока один парень не сообщит об ошибке " Поставщик «Microsolf.ACE.OLEDB.12.0» не зарегистрирован на локальном компьютере"
    • Проверьте: у него Windows x86, Access 2003, но не 2007, и он не имеет" 2007Драйвер офисной системы: компоненты для подключения к данным "установлены
    • Действительно трудоемки и трудоемки их установка (на компьютере компании)
  2. Использование Access 2003 формат для базы данных и Microsoft.ACE.OLEDB.12.0 для ConnectionString
    • Та же ошибка, что и выше.Таким образом, я думаю, что это «Microsoft.ACE.OLEDB.12.0», которая вызывает проблему.Но я не знаю, как это исправить.
  3. Использование Access 2003 формат для базы данных и Microsoft.Jet.OLEDB.4.0 для ConnectionString
    • Ошибка на моем компьютере: " Не удалось найти устанавливаемый ISAM " (у меня нет Access 2003, но есть только Access 2007)
    • Его компьютер: отлично работает

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

Заранее спасибо.

1 Ответ

1 голос
/ 16 марта 2012

Вы, как правило, не можете ссылаться на что-то еще, что связано с данными!

Если данные сидят на SharePoint, зачем пытаться использовать Access здесь?Вы никогда не могли бы ссылаться на базу данных Access, которая связала таблицы с SQL-сервером, поэтому это даже МЕНЬШЕ имеет смысл попадать в SharePoint таким образом.

И что еще хуже, я не верю, что SharePoint поддерживает связанные таблицы oleDB.Хотя Access поддерживает oldDB, и вы пытаетесь подключиться к o Access, вы должны иметь в виду, что ADO довольно устарел.Хотя механизм обработки данных Access продолжает получать все виды новых функций, таких как поддержка сложных данных (многозначные столбцы SharePoint) и такие вещи, как отключенный режим новой линии, который мы имеем в Access 2010 с SharePoint, эти функции, безусловно, не подходятпотреблять при попытке ссылки на связанные таблицы.Как уже отмечалось, поскольку в прошлом Access был связан с SQL-сервером или SharePoint, никто не предлагал бы вам сейчас попытаться связать файл Access, который затем, в свою очередь, должен выполнять вызовы веб-служб в SharePoint (кстати, Access выполняет вызовы веб-служб в SharePoint).использовать эти данные).

Так как данные находятся на SharePoint, почему вы пытаетесь поразить какую-то файловую «вещь», сидящую на локальном жестком диске?Почему бы вам просто не использовать сайт SharePoint в качестве веб-службы?Существует множество веб-сервисов и способов использования списков SharePoint в .net.Я вижу небольшую причину и преимущество в том, чтобы избавиться от всех этих фантастических технологий и способности .net использовать веб-сервисы, а затем пытаться прочитать некоторую файловую базу данных Access, имеющую ссылки на SharePoint.Единственный способ такой настройки имеет смысл, если ваша разработка является основной в Access, и тогда имеет смысл отказаться от использования c # здесь и просто использовать Access.

Таким образом, я предлагаю использовать списки SharePointв c # и обойти механизм данных Access здесь.

...