Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ADO.NET Data Providers, Установка провайдера для сайта 
:(
    Опции темы
Radekk
Дата 13.2.2014, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 11.4.2013

Репутация: нет
Всего: нет



win 7 x64 vs express 2013 for web

Как в приложении правильно указать дата провайдер

Код

dataProviderName = "FirebirdSql.Data.FirebirdClient";
 DbProviderFactory factory = DbProviderFactories.GetFactory(dataProviderName);


указываю провайдер(в моем случае феникс, так же сюда можно указать все начиная с мускула);
в приложении в папке Bin лежит тот самый .нет провайдер FirebirdSql.Data.FirebirdClient.dll с оф сайта.
при запуске выдает ошибку  

An exception of type 'System.Configuration.ConfigurationErrorsException' occurred in System.Data.dll but was not handled in user code

Additional information: Failed to find or load the registered .Net Framework Data Provider.

как мне правильно указывать провайдер приложению чтобы обойтись без установки FirebirdSql.Data.FirebirdClient.dll в глобальный кэш сборок(GAC)? 

PM MAIL   Вверх
jonie
Дата 13.2.2014, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



пробывали указать FullName ?
Что выдает fuslogvw ?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Radekk
Дата 13.2.2014, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 11.4.2013

Репутация: нет
Всего: нет



Цитата(jonie @ 13.2.2014,  13:13)
пробывали указать FullName ?
Что выдает fuslogvw ?

ResourceType.FullName - свойство 
Это вы про это?

fuslogvw выдает такой поток информации что за раз сложно все пересмотреть и найти нужное.

уже вроде зарегестрировал гакутилом эту длл, но все равно работать не хочет хоть убейся, да и в папку c:\Windows\assembly нужная длл не попадает хотя гакутил говорит что зарегестрирована.
 smile 

PM MAIL   Вверх
jonie
Дата 13.2.2014, 19:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



Цитата(Radekk @  13.2.2014,  16:27 Найти цитируемый пост)

ResourceType.FullName - свойство 
Это вы про это?

нет.  Я говорю про Assembly.FullName


Цитата(Radekk @  13.2.2014,  16:27 Найти цитируемый пост)

fuslogvw выдает такой поток информации что за раз сложно все пересмотреть и найти нужное.

так разбирайтесь с ошибками - зачем всё-то смотреть...


Цитата(Radekk @  13.2.2014,  16:27 Найти цитируемый пост)

уже вроде зарегестрировал гакутилом эту длл, но все равно работать не хочет хоть убейся, да и в папку c:\Windows\assembly нужная длл не попадает хотя гакутил говорит что зарегестрирована.

потому что GAC переехал в версиях старше .net2 ...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Radekk
Дата 14.2.2014, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 11.4.2013

Репутация: нет
Всего: нет



Цитата(jonie @ 13.2.2014,  19:46)
так разбирайтесь с ошибками - зачем всё-то смотреть...

потому что GAC переехал в версиях старше .net2 ...

Вроде нашел

*** Assembly Binder Log Entry  (14.02.2014 @ 9:52:13) ***

The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Microsoft.VisualStudio.Web.Host.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: DisplayName = FirebirdSql.Data.FirebirdClient
 (Partial)
WRN: Partial binding information was supplied for an assembly:
WRN: Assembly Name: FirebirdSql.Data.FirebirdClient | Domain ID: 2
WRN: A partial bind occurs when only part of the assembly display name is provided.
WRN: This might result in the binder loading an incorrect assembly.
WRN: It is recommended to provide a fully specified textual identity for the assembly,
WRN: that consists of the simple name, version, culture, and public key token.
WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue.
LOG: Appbase = file:///c:/users/rlohmatov/documents/visual studio 2013/Projects/Testing/Testing/
LOG: Initial PrivatePath = c:\users\rlohmatov\documents\visual studio 2013\Projects\Testing\Testing\bin
LOG: Dynamic Base = C:\Users\rlohmatov\AppData\Local\Temp\Temporary ASP.NET Files\root\0d641bac
LOG: Cache Base = C:\Users\rlohmatov\AppData\Local\Temp\Temporary ASP.NET Files\root\0d641bac
LOG: AppName = 4bbb80d4
Calling assembly : (Unknown).
===
WRN: No matching native image found.

Сейчас перечитаю еще с десяток раз может и врублюсь в чем дело, если можете подсказать буду рад.

по поводу GAC
установил сегодня сборку firebirdsql.visualstudio.datatools
gac показывает что установка успешна ссылка на нее появилась в c:\Windows\assembly

то же самое пытаюсь сделать с firebirdsql.data.firebirdclient.dll
gac выводит:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools>gacutil
-l firebirdsql.data.firebirdclient
Microsoft ® .NET Global Assembly Cache Utility.  Version 4.0.30319.18020
Copyright © Microsoft Corporation.  All rights reserved.

The Global Assembly Cache contains the following assemblies:
  firebirdsql.data.firebirdclient, Version=4.1.0.0, Culture=neutral, PublicKeyTo
ken=3750abcc3150b00c, processorArchitecture=MSIL

Number of items = 1

при запуске сайта из вижуал студии валится опять же

$exception    {"Unable to find the requested .Net Framework Data Provider.  It may not be installed."}    System.Exception {System.ArgumentException}

dataProviderName    "FirebirdSql.Data.FirebirdClient"    string


я что неправильно установил в гаке эту сборку???
выбрал сборку которая - FirebirdClient - .NET 4.0, 7-Zip archive

На машине фреймворк тоже 4.0 стоит, уже ума не приложу куда копать. Не хочет работать и все тут.

Заранее спасибо. Сильно не пинайте, я не волшебник - я только учусь.

По поводу переезда гака вроде понял, но есть еще момент, приложение еще на версии 3.5 версии фреймворка, добавил провайдер для этой версии в гак, в web.config
   <DbProviderFactories>
      <add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".Net Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.5.2.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"/>
    </DbProviderFactories>

И опять же та же самая ошибка, вроде и провайдер установил, и в приложении версию провайдера указал и все равно не хочет, не могу понять что я делаю не так. smile 


upd.

Один из старых проектов, к который мне со всем остальным достался по наследству, запустился, у него на борту в папке Bin лежит длл с провайдером, работает нормально не ругается. Я вот сижу и думаю в чем причина, сравнил web.config файлы нашел лишь одно различие 
<assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="FirebirdSql.Data.FirebirdClient, Version=2.5.2.0, Culture=neutral, PublicKeyToken=3750ABCC3150B00C"/>
      </assemblies>

Поправил в приложении которое разрабатываю не помогло....
Может подскажет кто, как мне запихнуть правильно длл файл в бин чтоб работало все??

Это сообщение отредактировал(а) Radekk - 14.2.2014, 14:29
PM MAIL   Вверх
jonie
Дата 17.2.2014, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



Цитата(Radekk @  14.2.2014,  12:49 Найти цитируемый пост)

        <add assembly="FirebirdSql.Data.FirebirdClient, Version=2.5.2.0, Culture=neutral, PublicKeyToken=3750ABCC3150B00C"/>

так вы накой черт записываете в веб конфиг свой версию, которой у вас нет?
У вас другая версия же:
Код


The Global Assembly Cache contains the following assemblies:
  firebirdsql.data.firebirdclient, Version=4.1.0.0, Culture=neutral, PublicKeyTo
ken=3750abcc3150b00c, processorArchitecture=MSIL



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Radekk
Дата 18.2.2014, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 11.4.2013

Репутация: нет
Всего: нет



Цитата(jonie @ 17.2.2014,  09:22)
так вы накой черт записываете в веб конфиг свой версию, которой у вас нет?
У вас другая версия же:

Извиняюсь видимо не совсем правильно отписал, я с чистым GAC в котором уже не было фаербердового дата провайдера подключал через длл (версии 2,5) и работало одно приложение, остальные так же ругались на отсутствие сборки в гаке.
А когда установил 4 версию провайдера и в web.config указал версию и публичный ключ из GAC то ничегошеньки не работало выбивало ошибку, о том что провайдер не найден.

В общем снес вчера 13 студию, поставил 12 студию, скачал FirebirdSql.Data.FirebirdClient.dll (NETProvider-3.2.0.0-NET35.7z в ней указано что под версию 3.5 фреймворка)под администратором скопировал в Program Files(x86), опять же под администратором запустил gacutil -i и записал ее в глобальную сборку и к моему удивлению заработало.

Проблема в том что мне должны купить сейчас 13 версию и я боюсь повторения геморроя, а поддерживать старые приложения надо плюс еще и новые разрабатывать.

Еще вопрос, с дата провайдерами надо устанавливать отдельный провайдер под каждую версию фреймворка???(я просто где-то вычитал, что версии фреймворка не поддерживают обратную совместимость и из-за этого возникают проблемы, правда пока не знаю относится ли это к дата провайдерам)
Приложения написаны под 3.5, новая студия дает создавать только на 4.0 и 4.5 может из-за этого возникают проблемы? Ну то есть у нее приложение запускается под какой версией фреймворка?Или к WebForms это не относится???
Спасибо заранее.
PM MAIL   Вверх
jonie
Дата 18.2.2014, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



вы таки fuslogvw лог посмотрели? GAC там не особо нужен, если вы укажите нормальное полное имя сборки и класса, положив сбоственно сборку в bin каталог (обычно) асп.нет приложения с нужной битностью...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Radekk
Дата 15.5.2014, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 11.4.2013

Репутация: нет
Всего: нет



Цитата(jonie @  18.2.2014,  18:19 Найти цитируемый пост)
вы таки fuslogvw лог посмотрели?

да смотрел и не раз, чет совсем не понимаю, если в гаке прописано, то работает и в fuslogvw даже не появляется запись, пробовал смотреть "Запись ошибок привязки", там пусто, а сообщение "Не удалось найти запрошенного поставщика данных .net framework" вылазит с досадной постоянностью, на другом уже рабочем вебсайте все работает, фуслог показывает, что загружается сборка та которая в проекте, а не сборка из гака

*** Assembly Binder Log Entry  (15.05.2014 @ 9:53:32) ***

The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable  C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer20.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = YYYY\xxxxxx
LOG: DisplayName = FirebirdSql.Data.FirebirdClient, Version=2.5.2.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c
 (Fully-specified)
LOG: Appbase = file:///C:/MyFolder/New_websites/WebSiteName/
LOG: Initial PrivatePath = C:\MyFolder\New_websites\WebSiteName\bin
LOG: Dynamic Base = C:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\WebSiteName\5e59a13c
LOG: Cache Base = C:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\WebSiteName\5e59a13c
LOG: AppName = 2aac5f
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\MyFolder\New_websites\WebSiteName\web.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: FirebirdSql.Data.FirebirdClient, Version=2.5.2.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Users/xxxxxx/AppData/Local/Temp/Temporary ASP.NET Files/WebSiteName/5e59a13c/2aac5f/FirebirdSql.Data.FirebirdClient.DLL.
LOG: Attempting download of new URL file:///C:/Users/xxxxxx/AppData/Local/Temp/Temporary ASP.NET Files/WebSiteName/5e59a13c/2aac5f/FirebirdSql.Data.FirebirdClient/FirebirdSql.Data.FirebirdClient.DLL.
LOG: Attempting download of new URL file:///C:/MyFolder/New_websites/WebSiteName/bin/FirebirdSql.Data.FirebirdClient.DLL.
LOG: Assembly download was successful. Attempting setup of file: C:\MyFolder\New_websites\WebSiteName\bin\FirebirdSql.Data.FirebirdClient.dll
LOG: Entering download cache setup phase.
LOG: Assembly Name is: FirebirdSql.Data.FirebirdClient, Version=2.5.2.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c
WRN: A duplicate assembly was found while copying the assembly item to the cache.
LOG: Binding succeeds. Returns assembly from C:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\WebSiteName\5e59a13c\2aac5f\assembly\dl3\bdb483eb\f47fc383_3116cd01\FirebirdSql.Data.FirebirdClient.dll.
LOG: Assembly is loaded in default load context.


в гаке стоит версия 3.2.0.0 и он ее не запускает, не могу никак понять почему из гака, если я добавил что грузить надо
<assemblies>
        <add assembly="FirebirdSql.Data.FirebirdClient, Version=4.1.5.0, Culture=neutral, PublicKeyToken=3750ABCC3150B00C"/>
</assemblies>
сборку саму в бин папку, эффекта ноль
PM MAIL   Вверх
jonie
Дата 15.5.2014, 20:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



Цитата(Radekk @  15.5.2014,  12:32 Найти цитируемый пост)

в гаке стоит версия 3.2.0.0 и он ее не запускает

У вас в bin лежит версия 2.5.2.0, в GAC - 3.2.0.0, вы патаетесь указать компоновщику чтобы он ссылался на 4.1.5.0 (которой вообще нет судя по-всему).

2.5.2 несовместима с 3.2.0, если только не указан BindingRedirect..

Короче мой вам совет : РАЗБЕРИТЕСЬ с мусором на машине, и что где лежит. ИЗУЧИТЕ где ищутся сборки. ПРОЧИТАЙТЕ про параметры в веб конфиге и про BindingRedirect.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Radekk
Дата 16.5.2014, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 11.4.2013

Репутация: нет
Всего: нет



Цитата(jonie @  15.5.2014,  20:56 Найти цитируемый пост)
У вас в bin лежит версия 2.5.2.0, в GAC - 3.2.0.0

На работающем лежит 2.5(в bin и web.config) и он запускается(с установленным 3.2.0 в гаке, лог я привел от этого веб сайта ( fuslogvw показывает сборка запускается из бин папки)) 

 4.1.5.0 в другом проекте, это скачанная из NuGet сборка, и вот версию 4.1.5.0 я не смог запустить из бина веб апликейшна (mvc 4 версия фреймворка 4.0) как я не бился, та же ситуация с веб сайтами(на этот момент в гаке была установлена версия 3.2). Неужто есть сборки которые без гака не запускаются?

кстати сегодня еще раз попробовал, выбил 3.2.0.0 из GAC создал вебсайт куда в бин закинул сборку 3.2.0.0(в web.config указал сборку на 3.2.0.0) и она не захотела запускаться (опять же вебсайт у которого в бин лежит 2.5 и в конфиге она же прописана стартанул без проблем), с 4.1(опять же из NuGet, в бин и конфиге) тоже не захотел запускаться ссылаясь на его отсутсвие.

еще может подскажете, в fuslogvw попытался выставить log bind faulures to disk при запусках веб сайтов туда почему-то ничего не пишется, не смотря на то что в бин лежит сборка которую должна запускаться вместе со всем сайтом.

Насколько я понимаю, провайдера фаерберда надо ставить в GAC  для того чтобы Visual Studio могла соединяться с ним, для проектов его достаточно просто добавлять в сам проект и все должно работать, но на деле что-то у меня не получается.

вроде правильно расписал, а то в предыдущем посту получилась каша маленько.

спасибо за помощь.
PM MAIL   Вверх
jonie
Дата 16.5.2014, 09:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 3
Всего: 118



Цитата(Radekk @  16.5.2014,  09:28 Найти цитируемый пост)
еще может подскажете, в fuslogvw попытался выставить log bind faulures to disk при запусках веб сайтов туда почему-то ничего не пишется

права на каталог проверяйте. Проверяйте тажке разрядность сборок, версию фреймворка под которой запускаете сайт и т.д.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.