Russian Qt Forum
Ноябрь 23, 2024, 20:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Как подключиться к базе данных по локальной сети.  (Прочитано 14472 раз)
Jkc
Гость
« : Октябрь 17, 2007, 16:06 »

В офисе есть сеть, нужно что бы пользователь мог зайти на сервер где лежит база данных и запущен сервер и мог просматривать эту базу из своей программы. Хотелось что бы по нажатию на кнопку появлялась форма из которой пользователь мог бы добраться до файла на сервере.
Записан
Kainit
Гость
« Ответ #1 : Октябрь 17, 2007, 16:20 »

Поскольку неизвестно какой сервер, то разумным ответом будет "через ODBC"...

Если хочется чтобы появлялась форма - напиши, чтобы до файлов добираться - используй QFtp, например (на для этого ещё Ftp сервак придётся запускать на сервере), или вообще обычным браузером, там никто не запрещает открыть сетевую папку при наличии прав доступа. А вообще, расшарьте папку, и пусть все ходят.

В чём вопрос - совершенно непонятно. Хотите чтобы тут запостили готовый код? Вряд ли это произойдёт, тут кратко отвечают на проблемные вопросы, а в данной ситуции ни проблемы не видно, ни вопроса.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #2 : Октябрь 17, 2007, 16:36 »

Согласен с Kainit. Совершенно бестолковая постановка воспроса...
« Последнее редактирование: Октябрь 17, 2007, 16:42 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
T800
Гость
« Ответ #3 : Октябрь 18, 2007, 22:33 »

Если вопрос в кроссплатформенности , то ODBC не пойдетю Нужно будет использовать обращения к SQL или FireBird (опен-сурс вариант InterBase), но для этого придется поднимать соответствующий сервер. Уточните задачу и суть проблемы.
Записан
Jkc
Гость
« Ответ #4 : Октябрь 19, 2007, 11:46 »

Вот пример конекта к моей базе который использует программа.
Так я могу подключиться к бд на своём компе локально с запущеным
сервером.


#define DB_ORDERS_DRIVER           "QIBASE"
#define DB_ORDERS_DBNAME          "D:\\\\PROJECT\\DATAFILE.FDB"
#define DB_ORDERS_USER       "SYSDBA"
#define DB_ORDERS_PASSWD          "masterkey"
#define DB_ORDERS_HOST        "localhost"


А как быть если мне нужно подключиться к базе на другой машине  с запущеным там сервером
по локальной сети? 

Пробовал так


#define DB_ORDERS_DRIVER           "QIBASE"
#define DB_ORDERS_DBNAME          "\\\\DATAFILES\\DATAFILE.FDB"  // путь к файлу
#define DB_ORDERS_USER       "SYSDBA"
#define DB_ORDERS_PASSWD          "masterkey"
#define DB_ORDERS_HOST       "10.10.15.45"                         // ip сервера


В общем с путями вариаций много было. Но нечего из этого не вышло.


Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Октябрь 19, 2007, 11:52 »

Вместо localhost я указываю имя машины, ip не пробовал, но должно работать.
Путь не нужно!!! На серваке прописываешь алиас для птицы типа base=c:\base.fdb и в своей софтине используешь алиас. У меня все отлично работает.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Tonal
Гость
« Ответ #6 : Октябрь 19, 2007, 15:33 »

Путь к базе должен быть локальный для той машины на которой запущен сервер.
Ну или алиас.
Записан
Dodge
Гость
« Ответ #7 : Октябрь 20, 2007, 01:38 »

Можт на сервере субд висит на одном порту, а драйвер куте по дефолту берет другой,можт стоит жжестко задать порт? о_0
Записан
Tonal
Гость
« Ответ #8 : Октябрь 20, 2007, 16:21 »

Jkc неверно задал путь, так что порт здесь не причём.
Ну а порт по умолчанию 3050.
Для сервера меняется в конфиге. Если человек туда полез, скорее всего он знает что делает. ;-)
Записан
Dodge
Гость
« Ответ #9 : Октябрь 21, 2007, 11:53 »

Если человек туда полез, скорее всего он знает что делает. ;-)
Не в нашей любимой стране  Смеющийся
Записан
Вячеслав
Гость
« Ответ #10 : Октябрь 22, 2007, 13:23 »

isql в зубы и вперед Подмигивающий Или IBE (interbase expert) ....
Записан
T800
Гость
« Ответ #11 : Октябрь 29, 2007, 05:42 »

Вопрос - автор намерен и далее использовать админский пароль по умолчанию для субд (SYSDBA, masterkey) и еще фиксировать его в исполнимом (!) коде? Или это для примера? Это огромная уязвимость проекта если предполагается что им пользуются "сторонние пользователи"....
Записан
cooler_3105
Гость
« Ответ #12 : Февраль 20, 2009, 22:50 »

А есть возможность работать с удаленной БД, используя SQLite? Если да, то какой сервер надо запускать на машине, на которой лежит БД?
Записан
BaltikS
Гость
« Ответ #13 : Февраль 21, 2009, 00:04 »

по-моему проще SQLite не использовать......
Записан
cooler_3105
Гость
« Ответ #14 : Февраль 21, 2009, 16:54 »

А что лучше использовать, если БД будет использоваться только в локальной сети? Какое ПО при этом надо будет ставить на сервер?
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.123 секунд. Запросов: 22.