ASP.NET + Firebird

otido
Дата: 24.04.2007 18:33:06
Добрый день,
понадобилось сделать приложение ASP.NET, работающее с сервером Firebird. Раньше с ASP не работал. До того под windows-приложения с успехом использовал Firebird ADO.NET Data Provider. На сайте http://firebirdsql.org/firebirdtutorial есть некое подобие туториала, но мне его не хватило. Пробую простейший вариант - SqlDataSource+GridView.
Проблема в том, что не удается сконфигурировать SqlDataSource. Когда в Change Data Source(.NEt provider в списке есть)-Add connection ставлю хоть что-то в любое поле ввода, окно закрывается. Test connection даже с пустыми данными и отключенным FbServer говорит, что коннект удачен. При попытке тупо жать Ок и Дальше студия через некоторое время молча и быстро закрывается.
Инструкции по установке вроде как все выполнил, с рег-файлами и mashine.config.. Студия 2005 Professional.
Any ideas?
Спасибо)
konstsch
Дата: 25.04.2007 13:05:41
ставим VS 2005 SDK, DDEX, смотрим что прописалось в реестре и machine.config, думаю после этого должно работать
otido
Дата: 25.04.2007 18:25:05
"konstsch":
ставим VS 2005 SDK, DDEX, смотрим что прописалось в реестре и machine.config, думаю после этого должно работать

Спасибо, попробую после работы СП1 сначала поставить, ибо СДК его вроде как хочет.
Пока что смог подключиться с ODBC драйвером.
Но у меня другой вопрос нарисовался, чтобы тему не открывать новую..
Поскольку с ASP впервые, делаю по ASP QuickStart Tutorial. Там у них все так красиво, при апдейте данных в SqlDataSource пишется UpdateCommand такого вида:
update [table_name] set [field1]=@boundField_dataField, ...
А у меня так легко не получается. В окне редактирования запроса SelectQuery приходится писать в виде "select * from table where id=?", тогда Refresh parametеrs находит параметр и позволят выбрать контрол, куда вводится значение.
Что делать в таком случае с UpdateQuery? Как дать понять, что значения параметров надо брать из редактируемой на тот момент строки GridView?.
Спасибо.
konstsch
Дата: 25.04.2007 23:22:05
при просмотре параметров запроса там можно выбрать контрол откуда будет браться этот параметр допустим это дата грид, тогда DataGrid1.SelectedValue

Вроде так если не ошибаюсь
otido
Дата: 26.04.2007 12:40:30
Разобрался, все оказалось проще. Контролы вроде настроились, теперь пошли проблемы с БД.
У меня в таблице есть поля типа Char(1). При попытке Update вылезает вот такое:
ERROR [01004] [ODBC Firebird Driver]Data truncated
ERROR [01004] [ODBC Firebird Driver]Data truncated
ERROR [HY000] [ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -303
conversion error from string "-". ("-" любой символ, я его даже не изменяю после Select).
Т.е. такое ощущение, что несовместимы string и char(1). Обшарил много форумов - именно такого не нашел. Кода -330 в LangRef-Error codes тоже нет.
Чудесато(
otido
Дата: 26.04.2007 13:40:48
Разобрался. То ли из-за visible=false, то ли из-за того, что порядок колонок в гриде был изменен. Обновляет, ура!)
Осталось только выяснить, почему не срабатывает UDF, обрезающий лишние пробелы у Char(много) полей. В текстбоксы при редактировании строки грида все пробелы пишет.