Привет всем!
Clarion 9 9.0.10376
Подскажите пожалуйста, с чем связана ошибка Unsupported File Driver Function (80) создания (открытия ранее созданной таблицы через драйвер SQLAnywhere) таблицы в базе данных сервера Sybase ASA приложением Clarion которое создано Application Wizard по словарю с применением драйвера ADO?
Database FILE,DRIVER('ADO'),OWNER('Provider=SAOLEDB.16;Password=sql;Persist Security Info=True;User ID=DBA;
Data Source=192.168.131.25'),PRE(DAT),BINDABLE,CREATE,THREAD !
или
Database FILE,DRIVER('ADO'),OWNER('Provider=SAOLEDB.16;Password=sql;Persist Security Info=True;User ID=DBA;
Data Source=SybaseASASQLServer'),PRE(DAT),BINDABLE,CREATE,THREAD !
При проверке соединения с базой данных в Sybase Central по строке соединения Provider=SAOLEDB.16;Password=sql;Persist Security Info=True;User ID=DBA;Data Source=SybaseASASQLServer проблем нет.
Проверка соединения через файл UDL с той же строкой соединения проходит успешно.
В словаре (DCT)
Driver ADO
Owner Name Provider=SAOLEDB.16;Password=sql;Persist Security Info=True;User ID=DBA;Data Source=SybaseASASQLServer
При применение драйвера SQLAnywhere проблем нет
Использование в Global Extension Add Include file for ADO support in your application Connection string source from Dictionery приложение завершает работу без доступа к базе данных сервера Sybase ASA 16.
При получении доступа к серверу Microsoft SQL Server 2008 SP1 через драйвер ADO ошибка Unsupported File Driver Function (80)
Заранее благодарен за ответы!
Ошибка создания таблицы на SQL сервере через драйвер ADO
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Re: Ошибка создания таблицы на SQL сервере через драйвер ADO
Скорее всего, в словаре описано поле, тип которого не поддерживается базой данных. Не все поддерживают Blob, например...
Re: Ошибка создания таблицы на SQL сервере через драйвер ADO
Юрий спасибо за отклик!
Но используя тот-же словарь и применяя драйвер SQLAnywhere проблем нет! Приложение получает доступ к базе, создаёт таблицу и работает.
Но используя тот-же словарь и применяя драйвер SQLAnywhere проблем нет! Приложение получает доступ к базе, создаёт таблицу и работает.
С Уважением, Developer
Re: Ошибка создания таблицы на SQL сервере через драйвер ADO
Привет тезка.
Тут все дело в драйверах, полагаю что ADO не знает синтаксис создания таблицы в Sybase ASA, а нативный дравер понятное дело знает.
В принципе решение есть, можешь сначала проверить наличие таблицы в БД, если ее нет то создать.
Вот пример поиска
select * from SysTable where table_name='mytable'
Пример создания ( в мануале подробнее)
create table dba.mytable(f1 integer,f2 integer) и тыды
Только клиент конечно должен иметь админские полномочия.
Удачи.
Тут все дело в драйверах, полагаю что ADO не знает синтаксис создания таблицы в Sybase ASA, а нативный дравер понятное дело знает.
В принципе решение есть, можешь сначала проверить наличие таблицы в БД, если ее нет то создать.
Вот пример поиска
select * from SysTable where table_name='mytable'
Пример создания ( в мануале подробнее)
create table dba.mytable(f1 integer,f2 integer) и тыды
Только клиент конечно должен иметь админские полномочия.
Удачи.
Александр
Re: Ошибка создания таблицы на SQL сервере через драйвер ADO
Наверное проблема создания таблицы в том, что приложение созданное с помощью Application Wizard по идентичному словарю но отличающемуся только применение драйвера на ADO не получает доступа к базе данных и соответственно не может создать в ней таблицу.
Проверял так: создал словарь (драйвер SQLAnywhere), по нему приложение с помощью Application Wizard, запустил созданное приложение,
создалась таблица, добавил информацию в таблицу - приложение работает.
Если создаёшь приложение с помощью Application Wizard по идентичному словарю, с применением драйвера ADO и созданием Connection String с помощью Connection Builder то созданное приложение не получает доступа к существующей базе данных и не отображает ранее добавленную информацию из существующей таблицы.
Может есть, у кого какие мысли, прошу сообщить по данной теме.
Проверял так: создал словарь (драйвер SQLAnywhere), по нему приложение с помощью Application Wizard, запустил созданное приложение,
создалась таблица, добавил информацию в таблицу - приложение работает.
Если создаёшь приложение с помощью Application Wizard по идентичному словарю, с применением драйвера ADO и созданием Connection String с помощью Connection Builder то созданное приложение не получает доступа к существующей базе данных и не отображает ранее добавленную информацию из существующей таблицы.
Может есть, у кого какие мысли, прошу сообщить по данной теме.
С Уважением, Developer
Re: Ошибка создания таблицы на SQL сервере через драйвер ADO
Выяснил, что Application Wizard для драйвера ADO в Clarion на прямую не применим.
В примере по ADO используют специальные шаблоны для драйвера ADO - Defaults - Class ABC_ADO SoftVelocity ADO Template
которые не использует Application Wizard.
Применив ADOBrowse, получил доступ к информации в таблице на SQL сервере Sybase SQL Anywhere из приложения Clarion.
Однако, пока создать таблицу и добавить новую запись невозможно.
Необходимо искать решение связанное с применением драйвера ADO в CLarion дальше.
В примере по ADO используют специальные шаблоны для драйвера ADO - Defaults - Class ABC_ADO SoftVelocity ADO Template
которые не использует Application Wizard.
Применив ADOBrowse, получил доступ к информации в таблице на SQL сервере Sybase SQL Anywhere из приложения Clarion.
Однако, пока создать таблицу и добавить новую запись невозможно.
Необходимо искать решение связанное с применением драйвера ADO в CLarion дальше.
С Уважением, Developer