![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
Апрельский Ёжик |
|
||||||||||||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Подключаюсь к БД FireBird 1 по средствам провайдера LCPI.IBProvider.1 (IBProvider 1). Соответственно это OleDbConnection. Строка подключения выглядит следующим образом:
Подключаюсь через UDL файл (из которого взята строка подключения что выше) вот таким образом:
Но это не особо важно. Подобный механизм обусловлен бизнес логикой. Ниже приведен пример работы:
Все отлично работает и извлекается на этом этапе (со статическим запросом). Но при использовании параметризированных запросов возникает ошибка. Пробовал задавать параметры следующим образом: 1. Вариант
2. Вариант
3. Вариант
(упускаю ненужные подробности для сокращения кода , открываю запрос так же как и в первом примере). Возникает ошибка:
Ошибка в строке открытия , куда бы я не помещал вывод , в OleDbDataReader , OleDbDataAdapter, итп, на строке извлечения неизменно эта ошибка. А именно на этой строке: [B]OleDbDataReader DataReader = DbCmd.ExecuteReader(); [/B] Пробовал изменять SQL , задавая параметр в виде ?, ?id, @id, :id итп (уже просто перебирал варианты). Пробовал другие запросы - ничего не получается. Т.к. без параметров запрос прошел - соединение работает нормально. Возможно проблемы у данного проавайдера с параметрами , но я не думаю что это так. На всякий случай приведу код SQL создающий таблицу:
И ещё раз повторюсь, параметры работают прекрасно с этим же провайдером из Delphi, если нужна БД, то могу дать ссылку на демо версию приложения к которому я разрабатываю модуль. Платформа под которой все это делаю ASP.NET. Язык как понятно C#. Я много времени потратил на решение этой проблемы и зашел в тупик. Если кто-то мне может помочь , то приму любой совет с благодарностью. Спасибо за внимание. |
||||||||||||||||
|
|||||||||||||||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Попробуйте не указывать ParameterName при добавлении параметра.
-------------------- ![]() |
|||
|
||||
thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
-------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
Апрельский Ёжик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
mr.DUDA , попробовал , результат тот же. Пробовал вот так (и с варианциями задания параметра :id, ?, итп):
Ещё долго ковырялся с этой проблемой, пришёл к выводу что при задании параметра система не может увязать его со строкой запроса SQL. Как решить эту проблему пока думаю. thomas , спасибо , я вчера тоже наткнулся на этот вариант при поиске решений. Как последняя мера видимо им воспользуюсь. Как последняя - потому что ASP.NET это только часть системы. В системе так же есть FastReport , который до этого момента в Win32 версии использовал другую версию провайдера. Неизвестно пока как он отреагирует. И не очень хорошо заставлять пользователя при развертывании приложения ставить 1 провайдер на Win32 версию , 1 провайдер под ASP.NET приложения ... Но видимо прийдется. Всем спасибо. Если у кого-либо есть ещё идеи насчёт моей проблемы - приму с благодарностью, а пока кажется придётся самому. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Вырезка из статьи по линку thomas-а:
-------------------- ![]() |
|||
|
||||
Апрельский Ёжик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Проблему решил установкой IBProvider 3 Free. mr.DUDA, там действительно все именно так и работает. После некоторых исследований IBProvider 1 пришел к выводу что в строке запроса просто не находятся параметры на этапе "привязки", но т.к. параметр содержится в запросе , то они не могут быть обработаны. Подобных проблем с 3-им провайдером не возникло. Возможно если бы покапаться в настройках подключения по глубже, а именно в специфических параметрах, то можно было бы разобраться, но счел трату времени на это с учетом уже израсходованного излишней. Думаю тема закрыта.
PS Жаль что возможностями вкладки Server Explorer в версии Free воспользоваться не удасться... Хотя в IBProvider 1 её так же воспользоваться не удалось, видимо в силу несоответствий. Хотя может я просто не очень хорошо разбираюсь в предметной области... Всем спасибо за помощь. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |