Перейти к содержанию
Fire Monkey от А до Я
  • 0

SQLConnection - подключение к БД без Builder'а


web_warp

Вопрос

В проекте на C++ Builder 10.1 Berlin (FMX) используется SQLConnection для связи с MS SQL Server 2008 R2. Программа на машине с билдером успешно соединяется по сети с БД, никаких проблем. Но при переносе на другую машину (Win7 x64) программа висит на...

SQLConnection1->Connected = true;

...и по сути в таком состоянии и остаётся. Исключений не появляется, просто остановка и ожидание. Перепробовал установку всевозможных провайдеров от майкрософта, драйвер для dbExpress тоже не помог, хотя другая программа, написанная на XE6 и использующая ADOConnection, работает как часы с тем же сервером.

Собственно, вопрос: как обеспечить автономность программы FMX с использованием SQLConnection? Может что-то упущено?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Создайте пустой файл с расширением .udl, к примеру DatabaseName.udl. Откройте его в проводнике, на первой вкладке сразу увидите доступные, на данном компьютере, провайдеры баз данных, на второй вкладке сможете проверить соединение. Если все в порядке и соединение устанавливается, то можно плясать дальше, искать следующую причину.

Безымянный.png

Update - если нужного поставщика нет, то следуйте инструкции https://msdn.microsoft.com/ru-ru/library/dn538994(v=sql.120).aspx 

Изменено пользователем Евгений Корепов
Ссылка на комментарий
  • 0
18 часов назад, Vitaldj сказал:

А запускаете бинарник под 64 или 32?

 Бинарник запускаю х64, т.к. проект на 32 собираться не хочет почему-то... )))

 

Проверю варианты решения проблемы в среду, отпишу результаты и возможное решение проблемы.

Изменено пользователем web_warp
Дополнить.
Ссылка на комментарий
  • 0
35 минут назад, web_warp сказал:

 Бинарник запускаю х64, т.к. проект на 32 собираться не хочет почему-то... )))

 

Проверю варианты решения проблемы в среду, отпишу результаты и возможное решение проблемы.

Странно. Это как не хочет собираться под 32? Обычно наоборот))))

Ссылка на комментарий
  • 0
В 26.09.2016 в 17:08, Vitaldj сказал:

Странно. Это как не хочет собираться под 32? Обычно наоборот))))

Как есть (первая  картинка). Пропатчил линковщик, как тут[SO] написано, работает, но при выключении dynamic rtl или runtaim packages (для автономии), вываливается другая ошибка: не цепляет медиаплеер (вторая картинка) ((. По вариантам SQL дополню сообщение.

error.png

error2.png

Изменено пользователем web_warp
Пояснения.
Ссылка на комментарий
  • 0
В 25.09.2016 в 19:00, Евгений Корепов сказал:

Если все в порядке и соединение устанавливается, то можно плясать дальше, искать следующую причину

На обоих машинах соединение идёт через SQL Server Native Client 10.0, соединение проверяется, БД при проверке доступна, но подключения на машине без билдера не идёт. Может компонент TSQLConnection требует дополнительных библиотек?

 

Действительно, путём удаления Native Client'ов убедился, что эффект на машине без билдера такой же, будто натив-клиента нет в системе. Программа его не видит по каким-то причинам, хотя проверка подключения проходит успешно.

 

Наткнулся на статью и не особо понимаю, что там написано, не могли бы форумчане пояснить? У меня вроде всё подключено...

Изменено пользователем web_warp
Дополнение после эксперимента.
Ссылка на комментарий
  • 0
7 часов назад, web_warp сказал:

На обоих машинах соединение идёт через SQL Server Native Client 10.0, соединение проверяется, БД при проверке доступна, но подключения на машине без билдера не идёт. Может компонент TSQLConnection требует дополнительных библиотек?

 

Действительно, путём удаления Native Client'ов убедился, что эффект на машине без билдера такой же, будто натив-клиента нет в системе. Программа его не видит по каким-то причинам, хотя проверка подключения проходит успешно.

 

Наткнулся на статью и не особо понимаю, что там написано, не могли бы форумчане пояснить? У меня вроде всё подключено...

К счастью к сожалению не пользуюсь встроенными в стулию коннекторами к БД, только от devart. Поэтому подсказать не могу(

Ссылка на комментарий
  • 0
Цитата

В проекте на C++ Builder 10.1 Berlin (FMX) используется SQLConnection

Подскажите, пожалуйста, почему вы выбрали не рекомендованную ембаркадеро dbExpress? Они рекомендуют FireDAC из палитры компонентов.

Ссылка на комментарий
  • 0
В 29.09.2016 в 11:43, Kitty сказал:

Подскажите, пожалуйста, почему вы выбрали не рекомендованную ембаркадеро dbExpress? Они рекомендуют FireDAC из палитры компонентов.

Сугубо из образовательных целей: на ADO уже делал, на dbExpress - нет.

Отвечаю на вопрос темы: помог переход на FireDAC. Создал компоненты и переименовал их в имена старых компонентов dbExpress, основные функции полностью совместимы. Переделке небольшой подвергся лишь блок настроек подключения.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...