Проблема взаимодействия с Com Silverlight 4 и MS Access 2010

Я пытаюсь запустить существующую базу данных MS Access (Access 2010) из Silverlight 4 OOB с повышенным набором авторизации. Я все время получаю ошибку. Я могу создать новое приложение Access, используя ключевое слово CreateObject, но когда я пытаюсь запустить существующее, я получаю сообщение об ошибке: «Ни один объект не был найден, зарегистрированный для указанного ProgID».

Любая помощь приветствуется. Вот код, который я использую:

string sMSAccess = "C:\\Users\\storltx\\Documents\\SL4Demo.accdb";
dynamic MSAccess = ComAutomationFactory.GetObject(sMSAccess);
MSAccess.Visible = true;

person Tor Storli    schedule 27.02.2010    source источник


Ответы (2)


Попробуйте свой код следующим образом: -

string sMSAccess = "C:\\Users\\storltx\\Documents\\SL4Demo.accdb";
dynamic app = ComAutomationFactory.CreateObject("Access.Application");
app .Visible = true;
app.OpenCurrentDatabase(sMSAccess);
person AnthonyWJones    schedule 27.02.2010

Я думаю, вам следует передать строку «Access.Application» в вызов GetObject. нравится:

dynamic MSAccess = ComAutomationFactory.GetObject("Access.Application"); 
person sarh    schedule 27.02.2010
comment
GetObject работает только с использованием ProgID для ранее активированных объектов. Silverlight, похоже, ограничен только идентификаторами ProgID (поэтому подход в вопросе терпит неудачу). Однако этот ответ также не сработает, потому что он не запускает MSAccess и не указывает, какую базу данных загружать. - person AnthonyWJones; 27.02.2010