Ошибка создания таблицы на SQL сервере через драйвер ADO

ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Ошибка создания таблицы на SQL сервере через драйвер ADO

Сообщение Developer »

Привет всем!

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 проблем нет :D


Использование в 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) :(

Заранее благодарен за ответы!
С Уважением, Developer
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Ошибка создания таблицы на SQL сервере через драйвер ADO

Сообщение Yufil »

Скорее всего, в словаре описано поле, тип которого не поддерживается базой данных. Не все поддерживают Blob, например...
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Re: Ошибка создания таблицы на SQL сервере через драйвер ADO

Сообщение Developer »

Юрий спасибо за отклик!

Но используя тот-же словарь и применяя драйвер SQLAnywhere проблем нет! Приложение получает доступ к базе, создаёт таблицу и работает.
С Уважением, Developer
Аватара пользователя
AlexSmile
Посетитель
Сообщения: 46
Зарегистрирован: 14 Ноябрь 2005, 20:38
Откуда: Молдавия

Re: Ошибка создания таблицы на SQL сервере через драйвер ADO

Сообщение AlexSmile »

Привет тезка.
Тут все дело в драйверах, полагаю что ADO не знает синтаксис создания таблицы в Sybase ASA, а нативный дравер понятное дело знает.
В принципе решение есть, можешь сначала проверить наличие таблицы в БД, если ее нет то создать.
Вот пример поиска
select * from SysTable where table_name='mytable'
Пример создания ( в мануале подробнее)
create table dba.mytable(f1 integer,f2 integer) и тыды
Только клиент конечно должен иметь админские полномочия.
Удачи.
Александр
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Re: Ошибка создания таблицы на SQL сервере через драйвер ADO

Сообщение Developer »

Наверное проблема создания таблицы в том, что приложение созданное с помощью Application Wizard по идентичному словарю но отличающемуся только применение драйвера на ADO не получает доступа к базе данных и соответственно не может создать в ней таблицу.

Проверял так: создал словарь (драйвер SQLAnywhere), по нему приложение с помощью Application Wizard, запустил созданное приложение,
создалась таблица, добавил информацию в таблицу - приложение работает.

Если создаёшь приложение с помощью Application Wizard по идентичному словарю, с применением драйвера ADO и созданием Connection String с помощью Connection Builder то созданное приложение не получает доступа к существующей базе данных и не отображает ранее добавленную информацию из существующей таблицы.

Может есть, у кого какие мысли, прошу сообщить по данной теме.
С Уважением, Developer
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Re: Ошибка создания таблицы на SQL сервере через драйвер ADO

Сообщение Developer »

Выяснил, что Application Wizard для драйвера ADO в Clarion на прямую не применим.
В примере по ADO используют специальные шаблоны для драйвера ADO - Defaults - Class ABC_ADO SoftVelocity ADO Template
которые не использует Application Wizard.

Применив ADOBrowse, получил доступ к информации в таблице на SQL сервере Sybase SQL Anywhere из приложения Clarion.

Однако, пока создать таблицу и добавить новую запись невозможно.

Необходимо искать решение связанное с применением драйвера ADO в CLarion дальше.
С Уважением, Developer
Ответить