English version Russian version

Работа с Firebird и Interbase с ограниченными правами в системе

Доступ к Firebird и Interbase без установки дополнительных компонентов в операционной системе актуален для:
  • WEB-приложений на внешнем хостинге.
  • Portable-приложений в связке с Firebird Embedded.
  • Приложений, работающих с базой данных на компьютере с ограниченными правами пользователя.

Манифест - альтернатива регистрации компонента в реестре

Манифест(manifest) - это файл XML, описывающий клиентское приложение и библиотеки, необходимые для его работы.

Манифест может храниться как в ресурсах приложения, так и на диске, рядом с исполняемым модулем программы. Во втором случае для того, чтобы приложение обнаружило файл манифеста, он должен называться: ИМЯ_ПРОГРАММЫ.exe.manifest.

Возможность работы с манифестами доступна начиная с Windows XP.

Создание файлов манифеста для подключения к Firebird и Interbase

Чтобы клиентское приложение обнаружило незарегистрированный драйвер необходимо:
  • Создать файл манифеста клиентского приложения с именем ИМЯ_ПРОГРАММЫ.exe.manifest.
  • В нем указать ссылку на файл манифеста IBProvider без расширения .manifest.
  • Создать файл манифеста IBProvider (v1, v2 или v3).
  • В манифесте IBProvider указать соответствующие CLSID и ProgID из таблицы 1.
 Драйвер   Текущая версия   Имя файла драйвера   Имя файла манифеста   progID   clsID 
IBProvider v1 1.9.23.3024 _IBProvider.dll _IBProvider.dll.manifest LCPI.IBProvider.1 {1352C0F0-DED2-11D3-A7AC-00A0C907DB93}
_IBProvider_i.dll _IBProvider_i.dll.manifest
IBProvider v2 2.6.17.3024 _IBProvider_v2.dll _IBProvider_v2.dll.manifest LCPI.IBProvider.2 {3439B9D5-23B6-4661-9F0C-5CD74B1C66CB}
_IBProvider_v2_i.dll _IBProvider_v2_i.dll.manifest
IBProvider v3 3.0.0.8628 RC4 _IBProvider_v3_i.dll _IBProvider_x3_i.dll.manifest LCPI.IBProvider.3 {769A1280-04BF-11D8-AE8B-00A0C907DB93}
_IBProvider_x3_w64_i.dll _IBProvider_x3_w64_i.dll.manifest


Пример файла манифеста клиентского приложения под .Net Framework ИМЯ_ПРОГРАММЫ.exe.manifest, использущего IBProvider v3 (32bit):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity name="ИМЯ_ПРОГРАММЫ_БЕЗ_РАСШИРЕНИЯ" version="1.0.0.0" processorArchitecture="msil"></assemblyIdentity>

	<dependency>
		<dependentAssembly>			
			<assemblyIdentity name="_IBProvider_x3_i.dll"  version="3.0.0.8628"></assemblyIdentity>
		</dependentAssembly>
	</dependency>

</assembly>


Пример файла манифеста _IBProvider_x3_i.dll.manifest:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" 		  
  manifestVersion="1.0">

  <file name = "_IBProvider_x3_i.dll">
   <comClass progid="LCPI.IBProvider.3 " clsid="{769A1280-04BF-11D8-AE8B-00A0C907DB93}" threadingModel = "Apartment" />
</file>

</assembly>

Дополнительные модули для работы провайдера IBProvider v3

Для работы IBProvider v3 требуется Microsoft Visual C++ 2005 SP1 Redistributable Package 32-х битной или 64-х битной версии, в зависимости от разрядности операционной системы.

Microsoft Visual C++ 2005 SP1 Redistributable Package содержит три файла:
  • msvcp80.dll
  • msvcr80.dll
  • Microsoft.VC80.CRT.manifest
Файлы можно взять из дистрибутива IBProvider Professional или скачать с сайта ibprovider.

Дополнительные модули для работы провайдеров IBProvider v2 и IBProvider v1

Для функционирования IBProvider v2 и IBProvider v1 на компьютер клиента необходимо скопировать библиотеку cc3250mt.dll. Её так же можно скачать с сайта ibprovider.

Можно ли работать c IBProvider без регистрации на Windows Vista?

Предоложенное решение не работает на Windows Vista. О том, как настройть свое приложение для работы с IBProvider без регистрации под Висту, рассказано на нашем форуме поддержки.

Полезные ссылки


Теги статьи: Firebird, Interbase, web, portable applications, firebird embedded, asp, .net, odbc driver, ole db provider, Firebird oledb provider, Firebird ODBC driver, Interbase ODBC driver, Interbase Delphi , Firebird Delphi
Забобрить эту страницу! Добавить на Memori.ru Mr Wong Добавить в закладки МоёМесто.ru Добавить на Rumarkz Добавить на Rucity Digg It Reddit Technorati Del.icio.us Google Bookmarks Slashdot StumbleUpon Yahoo MyWeb Все

Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт http://www.ibprovider.com обязательна. Версия для печати: Работа с Firebird и Interbase с ограниченными правами в системе



Назад Вперед