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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Как подключиться к базе данных по локальной сети.  (Прочитано 4148 раз)
Jkc
Самовар
**
Offline Offline

Сообщений: 183


« : Октябрь 17, 2007, 16:06 »

В офисе есть сеть, нужно что бы пользователь мог зайти на сервер где лежит база данных и запущен сервер и мог просматривать эту базу из своей программы. Хотелось что бы по нажатию на кнопку появлялась форма из которой пользователь мог бы добраться до файла на сервере.
Записан

Код есть, лучшее объяснение.
Kainit
Гость
« Ответ #1 : Октябрь 17, 2007, 16:20 »

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

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

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

Сообщений: 2871



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
Самовар
**
Offline Offline

Сообщений: 183


« Ответ #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
Джедай : наставник для всех
*****
Online Online

Сообщений: 4122


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


« Ответ #5 : Октябрь 19, 2007, 11:52 »

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

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.

С уважением.
Пантер.
Tonal
phpBB Супер
******
Offline Offline

Сообщений: 1039


Карма Кагью


WWW
« Ответ #6 : Октябрь 19, 2007, 15:33 »

Путь к базе должен быть локальный для той машины на которой запущен сервер.
Ну или алиас.
Записан
Dodge
Частый гость
***
Offline Offline

Сообщений: 286



« Ответ #7 : Октябрь 20, 2007, 01:38 »

Можт на сервере субд висит на одном порту, а драйвер куте по дефолту берет другой,можт стоит жжестко задать порт? о_0
Записан
Tonal
phpBB Супер
******
Offline Offline

Сообщений: 1039


Карма Кагью


WWW
« Ответ #8 : Октябрь 20, 2007, 16:21 »

Jkc неверно задал путь, так что порт здесь не причём.
Ну а порт по умолчанию 3050.
Для сервера меняется в конфиге. Если человек туда полез, скорее всего он знает что делает. ;-)
Записан
Dodge
Частый гость
***
Offline Offline

Сообщений: 286



« Ответ #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
Программист
*****
Offline Offline

Сообщений: 596


WWW
« Ответ #13 : Февраль 21, 2009, 00:04 »

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

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

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