Получение таблицы БД с сервера

Подскажите помощью get запроса могу получить таблицу и корректно отобразить в клиенте?

Какую, откуда?

1 лайк

На сервере есть база аксес а у клиента stringgrid нужно из аксес получить таблицу и присвоить её клиенту Сервер локальный.

Смотря что именно нужно.
Можно же просто в компоненте для работы с БД указать адрес сервера.

Ну а если по каким-то причинам нужно не напрямую, то поднимать на сервере HTTP сервер (Apache, nginx, …), писать скрипты (PHP, …, если на сервере винда, то может быть удобнее ASP .NET) подключающиеся к БД и возвращающие что нужно оттуда (например, в формате JSON) и делать HTTP запросы из программы на Дельфи любым HTTP клиентом (Indy, Synapse, …).

1 лайк

Есть база товар. В ней таблица, товары её нужно предать клиенту. (проект в архиве)

Это не отвечает на вопрос из моего сообщения.

Есть 2 варианта:

  1. Сделать HTTP прослойку как описано там же.

Что из этого вам нужно знаете только вы.

пробуем так
просто в компоненте для работы с БД указать адрес сервера.
потому что у меня уже есть соединение локальное

Нет, по-моему, просто так не получится. Если даже допустить, что через интернет открыты все нужные для работы БД порты (что совсем не факт), то ещё нужно, чтобы на сервере, адрес которого Вы укажете, должна быть WIndows и установлен сервер базы данных.
И ещё - MS Access - это не сервер, его как сервер поставить не получится. Тогда переходите на MS SQL.

1 лайк

А, да, если там просто путь файла БД указывается, то сетевая папка как вариант.

1 лайк

Сервер это я условно называю мне нужно чтобы между ними связь была и можно было переслать таблицу

А из access на том же компьютере можешь взять данные и отобразить в гриде?

у меня уже есть соединение локальное

локальная сеть ?

1 лайк

Локальная сеть соединены роутером по вафай

Самый простой вариант для Акцэсса:

Для этого даже винда на сервере не нужна, Samba везде есть. :slight_smile:

1 лайк

ну это же файл предавать а не таблицу

Ну так а зачем таблица когда есть весь файл?)

1 лайк

Потому что у пользователей, есть права, а так получиться, что каждый пользователь с фалом сможет делать что хочет

Тогда либо второй вариант

либо взять полноценную СУБД (MySql, Postgre, MS SQL, …) и создать пользователя с ограниченными правами. Но если таблицу нужно не только читать, но и писать, то это тоже не безопасно (можно вытащить пароль из приложения и делать что угодно в рамках выданных прав), поэтому обычно используют вариант с HTTP прослойкой.

Не знаю есть ли в Дельфи что-то для упрощения варианта с HTTP, стандартные БД-компоненты вряд ли будут работать, так что потеряется основная фишка Дельфи (простая работа с БД).

1 лайк

А как сделать HTTP прослойку ?

:arrow_up:

1 лайк
  1. Access это файл серверные субд и НЕ клиент серверные.
  2. Я так знаю что вы работайте через Delphi и там достаточно сделать папку доступной в локальной сети и программа будет работать на несколько ПК и где файл БД то будет сервер.
  3. Зачем вам GET запрос запрос ?
1 лайк