Перейти к содержанию
  • 0
web_warp

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

Вопросы

В проекте на 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 эмодзи.

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

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

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


  • Похожий контент

    • От Rusland
      Я смотрю тут у многих проблемы с Android 5.
      Программы которые работали на 4ой версии Андроида не работают должным образом на 5ой версии!
      Буду писать о всех проблемах с которыми сталкиваюсь с планшетом Lenovo Tab 2 A8-50LC.
       
      1 Проблема.
      Запустил один и своих проектов - программа просто крэшилась... после 3х попыток программа запустилась, но "помирает" при вызове Edit1.SetFocus
       
      2 Проблема.
      Устанавливаю программу с сервисом, на планшете не появляется значок запуска программы! То есть если запущенную из студии программу закрыть, то ее никак не перезапустить.
       
      3 Проблема
      Периодически если планшет в спящем режиме (у меня стоит "Через 2 минуты"), то при компиляции установке программы она не запускается самой студией (в силу наличия проблемы2 запустить программу не получается никак).
       
      Как это лечить?
       
       
      PS. Delphi RX Seattle
    • От zekelive
      Добрый день, друзья. В своем проекте использую технологию DataSnape для реализации клиент-серверного приложения. И в данный момент у меня встал вопрос о TimeOut подключения к серверу. В параметрах компонента SQLConnection на серверной части есть строки, такие как - ConnectTimeOut and CommunicationTimeOut. По умолчанию они пусты. И какое значения я бы не устанавливал в этих строках, оно игнорируется и используется некое значение по умолчанию. Опытным путем высчитал, что это приблизительно 60 секунд, после чего клиент бросает попытки подключения к серверу. Это или любое похожее значении я найти не смог. Может быть кто-то сталкивался с подобными вещами, и знает где регулируется TimeOut? 

    • От zhukovsd
      Добрый день. Я недавно перешёл на XE7 и занимаюсь стилем для FMX-приложения.
      В ХЕ3 я использовал один спрайт со всеми состояниями всех контролов и через SubImage нарезал их на нужные кусочки для соответствующих контролов. В XE7 мне удалось реализовать стиль, к примеру, кнопки, таким же образом, но никак не выходит анимировать этот SubImage, чтобы он менялся по MouseOver / MouseDown. Свойства SourceRect, отвечающее за область на спрайте, теперь нет. Сейчас оно хранится в TSubImage.SourceLink.Links[0].SorceRect.
       
      Класс анимации ищет нужное свойство через RTTI, если задать в PropertyName "SourceLink.Links[0].SorceRect" - результата нет, потому что тот код не рассчитан на использование свойств с индексом. Если вернуть классу SourceRect через хелпер, то это тоже не поможет, потому что RTTI не знает о хелперах и не видит описанного в нём свойства.
       
      Есть ли способ анимировать TSubImage, и если нет, то каким образом можно сделать стиль, не нарезая спрайт на маленькие кусочки для TImag'ей, например?
       
      Спасибо.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

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