Страница: 1 | 2 |
Вопрос: Как сделать доступ к БД(access) по winsock
Добавлено: 12.05.09 15:49
Автор вопроса: Mc.WOLF
Как сделать доступ к БД(access) по winsock не на VBA а на VB6???
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 12.05.09 16:09
Я вижу тут два раздельных вопроса:
1. Как сделать клиент-серверное приложение по winsock (контрол или API - непонятно)? Смотри примеры любых клиент-серверных приложений.
2. Как работать с БД Access из VB6? Рекомендую ADO (библиотеку ADODB) подключенную по ConnectionString.
Номер ответа: 2
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #2
Добавлено: 12.05.09 16:41
Видел на сорсес.ру доступ к бд адо/дао через винсок.
Номер ответа: 3
Автор ответа:
Mc.WOLF
Вопросов: 26
Ответов: 84
Профиль | | #3
Добавлено: 12.05.09 17:48
Как сделать клиент-серверное приложение по winsock для БД?
Ситуация такова: Есть 2 компа между ними LAN на одном из компов есть БД. Не могу сделать так как показано в примере!
Вот пример но он не совсем рабочий http://www.sources.ru/vb/access_ado_via_winsock.zip
Запускаю сервер всё ок!
Запускаю клиент жму connect пишет «User Name is not registered», хотя такой пользователь на сервере зарегестрирован.
HELP PLEACE!!!
Номер ответа: 4
Автор ответа:
Mc.WOLF
Вопросов: 26
Ответов: 84
Профиль | | #4
Добавлено: 13.05.09 12:05
НЕУЖЕЛИ НИКТО НЕЗНАЕТ???
Номер ответа: 5
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #5
Добавлено: 13.05.09 12:34
Нет, просто никто не хочет копаться в чужом коде.
Номер ответа: 6
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #6
Добавлено: 13.05.09 13:40
Если честно, влом разбираться в твоей задаче, если этого не делаешь ты сам. В нем мне разбираться сейчас вдвойне сложнее, т.к. VB6 нет под рукой, есть только VBA от офиса 2003. Исходник этот откуда взялся - ты его где-то нашел или сам писал? Впрочем это неважно.
Давай напишу тебе, как я понимаю клиент-серверное приложение, которое работает с базой данных.
Сервер. Запущен на компе в локалке (нужна локалка или интернет?), он прослушивает порт с определенным номером. Сервер надо делать многоканальным, если возможно одновременное подключение сразу нескольких клиентов. Исходники многоканального сервера можешь найти в примерах сайте vbnet. Сервер умеет подключать к себе несколько клиентов (и проводить их авторизацию, если требуется). Придется придумать простенький протокол, на котором "общаются" клиент и сервер. Если клиент присылает SQL-запрос (и у него есть право присылать такой запрос), то сервер выполняет этот запрос, а данные, которые возвращаются в рекордсете сервер должен переслать клиенту. Клиент получает данные и обрабатывает.
Клиент. Должен уметь подключиться к серверу на известном компьютере в локальной сети, провести авторизацию пользователя (если требуется). Клиент должен также знать и уметь использовать внутренний протокол обмена данными между клиентом и сервером. Клиент формирует SQL-запросы и посылает их серверу, умеет получать наборы записей от сервера и анализировать их (иметь пользовательский интерфейс, элементы управления по управлению данными).
Номер ответа: 7
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #7
Добавлено: 13.05.09 13:53
и Все же непонятно почему нужно использовать винсок чтобы подключиться к сетевой Access-базе
Номер ответа: 8
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #8
Добавлено: 13.05.09 14:29
Arvitaly, да не для подключения к базе нужен винсок, а для соединения клиента с сервером. Для сервера надо ADO, чтобы подключиться к базе и передавать наборы записей, которые возвращаются запросами клиенту, но не в виде объектов, а в виде данных любого формата: хоть один-к-одному как они есть в памяти, хоть в виде xml, хоть пожатые каким-нибудь в поточным кодеком, хоть тупо архивированные rar'ом, чтобы меньше передавать. Я это пытаюсь с 1-го поста объяснить.
Номер ответа: 9
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #9
Добавлено: 13.05.09 14:47
Да я прекрасно понимаю но для чего для 2-х компов, объединенных по сети организовывать такое. Я понимаю удаленный сервак с выделенным айпи и клиенты в разных местах.
А вообще, Mc.WOLF, ставь MSSQL например 2000 Desktop Edition или 2005. Они бесплатные и отлично работают. Хотя и акцесс нормально если скорость не критична
Номер ответа: 10
Автор ответа:
Mc.WOLF
Вопросов: 26
Ответов: 84
Профиль | | #10
Добавлено: 13.05.09 16:59
mc-black ти попал именно в десятку(это то что мне надо)
Номер ответа: 11
Автор ответа:
Mc.WOLF
Вопросов: 26
Ответов: 84
Профиль | | #11
Добавлено: 14.05.09 21:29
Дело в том что у меня есть программа для работы с БД Access но не могу сделать доступ к БД с 2-х компов одновременно, и чтоб все внесенные изменения отображались сразу на 2-компах(типа реального времени)
Номер ответа: 12
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #12
Добавлено: 14.05.09 22:28
В плане безопасности ябы положился на нт.
Прописал на серваке твоих двух юзеров, расшарил папку тока для них и на полный доступ.
А там хоть *.mdb хоть *.хls.
Тут важна синхронизация, важно чтоб клиенты общались, обменивались изменениями и запрещали друг другу редактировать одно и тоже.
Номер ответа: 13
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #13
Добавлено: 14.05.09 22:33
Я делал такое 4 года назад, продал с исходниками, могу тока подсказать.
Номер ответа: 14
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #14
Добавлено: 15.05.09 09:19
В чем проблема то, ставишь MSSQL и хоть со 100 в "режиме реального времени".
Номер ответа: 15
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #15
Добавлено: 15.05.09 09:45
Ради двух компов эмэсэскюэль?
Очень современное решение