Использование базы данных Access с Microsoft SQL Server - PullRequest
1 голос
/ 21 января 2012

У нас есть несколько веб-сервисов (написанных на .NET WCF), которые в настоящее время обращаются к базе данных Microsoft SQL Server для получения / обновления данных. Теперь у нас есть требование также извлекать / обновлять данные из базы данных Microsoft Access. База данных Access в настоящее время используется рядом устаревших систем, поэтому мы не можем преобразовать ее в базу данных сервера Microsoft SQL - мы застряли с базой данных Access.

Мой вопрос: существует ли способ связи с базой данных Access «через» Microsoft SQL Server (чтобы мы могли выдавать на него команды T-SQL, а MS SQL Server обрабатывал бы все базовые сопоставления для запроса Access база данных?) Или лучше просто связаться с базой данных Access через ADO.NET, указав расположение базы данных Access на сетевом ресурсе? У кого-нибудь есть предложения, которые мы могли бы попробовать?

Спасибо всем.

Ответы [ 2 ]

5 голосов
/ 21 января 2012

Как насчет сохранения устаревшего приложения доступа, но перемещения таблиц и данных из приложения Access?

Доступ - отличный интерфейс для SQL-сервера. Когда вы создаете приложение с помощью Access, как и большинство других инструментов разработки, вы должны выбрать, какой механизм данных и систему базы данных вы будете использовать с Access. Доступ имеет встроенную поддержку для механизма данных JET (теперь называется ACE). В Access встроена встроенная поддержка SQL-сервера. В Access 2010 встроена не только поддержка использования SharePoint, но и SQL Auzure.

Таким образом, вы могли бы рассмотреть возможность перемещения данных, которые Access теперь использует, на сервер SQL, и очень мало, если какие-либо изменения необходимо внести в приложение доступа. Таким образом, функция приложения Access рада, если таблицы находятся в файле (файл mdb или accdb) или на сервере, например, на SQL-сервере, и фактически для таблиц, находящихся в SharePoint, Access фактически использует веб-службы для обновления этих данных в SharePoint. Однако во всех случаях стандартный код, формы, код VBA и даже используемый SQL не нужно менять.

Таким образом, я не решаю, что попытка присоединить SQL-сервер к какому-либо «файлу», находящемуся в папке, а просто подключить Access к SQL-серверу для обновления таблиц, и, следовательно, нет необходимости «передавать» данные между системами будет существовать больше.

2 голосов
/ 21 января 2012

Использовать связанный сервер :

Связанный сервер обеспечивает доступ к распределенным гетерогенным запросам к источникам данных OLE DB.После создания связанного сервера с помощью sp_addlinkedserver к этому серверу можно запускать распределенные запросы.

Если вы когда-либо работали только на 32-битной платформе:

EXEC sp_addlinkedserver 
   @server = N'SEATTLE Mktg', 
   @provider = N'Microsoft.Jet.OLEDB.4.0', 
   @srvproduct = N'OLE DB Provider for Jet',
   @datasrc = N'C:\MSOffice\Access\Samples\Northwind.mdb';

Или если вам нужно беспокоиться и о 64-битной версии:

EXEC sp_addlinkedserver 
   @server = N'SEATTLE Mktg', 
   @provider = N'Microsoft.ACE.OLEDB.12.0', 
   @srvproduct = N'OLE DB Provider for ACE',
   @datasrc = N'C:\MSOffice\Access\Samples\Northwind.accdb';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...