-
Строю трехуровневое приложение для отображения таблицы БД в DBGrid. Беру пример из книги Марко Кэнту для Delphi2005(У меня Delphi 2006): исходники к главе 17 в каталоге ADONetRemote. На стороне сервера цепочка BDPConnection-->BDPDataAdapter-->DataSync-->RemoteServer. На стороне клиента цепочка RemoteConnection-->DataHub-->DataSet-->DBGrid. Цепочка настроена на таблицу Employee базы Employee.gdb. Запускаю сервер, запускаю клиент, нажимаю кнопку Open (вот что в ней: DataHub1.DataSet := DataSet1; DataHub1.Active := True; DataGrid1.DataSource := DataSet1; DataGrid1.DataMember := 'EmployeeTable';) и получаю в ответ: Ambiguous field name between table RDB$RELATION_CONSTRAINTS and table RDB$RELATIONS RDB$RELATION_NAME. Это происходит на команде DataHub1.Active := True.
Если сделать отображение в DBGrid на самом сервере через DataSet, то там идет отображение даже уже в режиме Live при проектировании. Но вот что важно: при настройке BDPDataAdapter на SELECT * FROM EMPLOYEE(с помощью Configure Data Adapter) выдается то же сообщение:Ambiguous field name between table RDB$RELATION_CONSTRAINTS and table RDB$RELATIONS RDB$RELATION_NAME. Хотя Preview и срабатывает нормально, но после нажатия Ok окна Preview опять выдается злополучное сообщение. Значит деле не в клиенте, а в сервере. Но что дальше делать, я не знаю. Сначала я работал с своей БД и подумал о дефекте БД в системных таблицах. Поменял БД на Employee.gdb , но все осталось прежним. Перебирал вслепую разные варианты опций компонент, но без пользы. Так я ничего и не добился. Жду помощи!
|