In english

harpywar.com

Главная

Вики

Форум

Лаборатория

NFK

PvPGN

Github

 Проекты
   QDoom
   IRC Search
   vbreality [web]
   UTech p2p Realm [web]
   PvPGN система статистики
   Diablo 2 Launcher
   WoW Simple Launcher

 Моё
   Творчество
   Оборудование

 Статьи
   Игры
   Настройка серверов
     PvPGN
     D2GS
     NFS: U
     Apache
     ArcEmu

   Кодинг
     .NET
     PHP

   Разное

Поиск по сайту


Хостинг и VDS, скидка при переходе
 
PvPGN (Player vs Player Game Network)
Иконки Warcraft 3 (w3xp_userselected_icon)
Создание иконок Warcraft 3
PvPGN c ладдером в Starcraft [x]
Группы консольных команд (command_groups.conf) [x]
Battle.net утилиты
Создание баннеров (ad.conf)
address_translation.conf
Иконки Starcraft [x]
Как скомпилировать исходники PvPGN 1.8.5 под Windows
Headers и библиотеки для компиляции PvPGN
Как скомпилировать исходники PvPGN 1.99 из SVN, под Windows
PvPGN и MSSQL (через ODBC)
Как установить PvPGN 1.8.5 под Linux
Установка PvPGN 1.99 на Linux
Среда для эффективной разработки PvPGN
PvPGN и MSSQL (через ODBC)Создано: 08.05.2011
Изменено: 08.05.2011
Автор: HarpyWar

ODBC (Open Database Connectivity) — прослойка между базой данных и приложением, с единым интерфейсом доступа к данным. Она реализована под все платформы, потому является кроссплатформенной.
Например, можно установить PvPGN на Linux, и через ODBC он сможет соединяться с базой данных MSSQL на сервере с Windows.

Настройка

Настройка ODBC под Windows предельно простая и сводится к добавлению нового источника данных.
Пуск > Панель управления > Администрирование > Источники данных (ODBC)
или через
Пуск > Выполнить… > odbcad32

В Windows x64 необходимо его запускать из C:\WINDOWS\SysWOW64\odbcad32.exe, иначе PvPGN не сможет соединиться к созданному источнику.


Откроется окно "ODBC Data Source Administrator". В нем есть два закладки: Пользовательский DSN и Системный DSN (Data Source Name). Они различаются тем, что пользовательский будет доступен только текущему пользователю, а системный — для любого пользователя. Для сервера лучше добавить новую запись в системный DSN.

ODBC DSN ODBC Driver


ODBC драйвер для MSSQL устанавливается вместе с сервером MSSQL. А для любой другой БД он, обычно, доступен для скачивания на сайте производителя этой БД (например, для MySQL).

Прежде чем создавать источник данных, создайте пустую базу данных в SQL сервере, которую будет использовать источник. Удобным и бесплатным менеджером для управления БД MSSQL является Microsoft SQL Management Studio. Его можно установить при помощи Web Platform Installer.
При помощи этого же инсталлера легко устанавливается бесплатный сервер MSSQL Express, если у вас нет его полной версии.

Microsoft Web Platform Installer


В конфиге PvPGN (bnetd.conf) в строке соединения ODBC достаточно указать только название источника данных, поскольку все остальные настройки соединения уже настроены в самом источнике:
sql:mode=odbc;name=pvpgn;prefix=pvpgn_

Для запуска PvPGN не требуется DLL библиотека ODBC (подробнее см. в конце этой статьи).

После первого же запуска, PvPGN должен создать структуры таблиц в базе данных. Создание аккаунта через игру тоже должно пройти успешно:

Microsoft Management Studio


Производительность

Сам по себе, этот механизм обмена быстрый, поскольку работает через прямые вызовы функций из DLL драйвера. Поэтому если у вас наблюдаются тормоза, то они либо в базе данных, либо в криво написанном ODBC драйвере для этой базы данных, либо в самом приложении.

В ODBC драйверах Microsoft с последним сервис паком никаких проблем с производительностью нет, поэтому можно смело использовать PvPGN с MSSQL.

Начиная с версии ODBC 3.0 появился пул соединений, в котором хранятся соединения с базой данных. Даже если приложение закрывает соединение, в пуле оно хранится какое-то время и по-необходимости выделяется снова, прозрачно для приложения. Управлять таймаутом соединений для пула можно в закладке "Пул соединений".
Эта настройка может потребоваться для сайта, но не для PvPGN — он использует только одно соединение с бд.

Так же, стоит убедиться, что отключена Трассировка для ODBC, в закладке "Трассировка". Иначе все SQL запросы будут мониториться и записываться в лог файл, из-за чего могут возникнуть лаги. По-умолчанию она выключена.


Итог

ODBC универсален. Можно использовать PvPGN с MySQL, а потом скомпилировать его с поддержкой ODBC и продолжить использовать ту же бд. То есть, просто изменив тип базы данных в конфиге, можно перейти с нативного MySQL на ODBC, и наоборот. Но в этом случае выигрыша от этого никакого, поэтому стоит использовать ODBC только с той базой данных, которой нет в списке поддерживаемых с PvPGN.
MSSQL для Windows — это лучший вариант. В любом случае, данные можно перенести из одной базы данных в другую и переключить на использование другого источника ODBC.

Перенос данных из одного ODBC источника в другой иногда не совсем тривиальная задача, но это возможно сделать, почти автоматически. Вот пример переноса из MySQL в MSSQL, но там не переносятся индексы. Их необходимо перенести отдельно, либо переносить данные сразу в существующую структуру, созданную PvPGN при первом запуске.

На данный момент нет Web приложений под ODBC для PvPGN, большинство не знает о нем из-за повсеместной популяризации MySQL для веба. Отчасти и от того, что ODBC, в большинстве случаев, никому и не нужен. Но если переделать текущие веб статистики и веб регистрации, то придется изменить не совсем много кода (PHP тоже поддерживает ODBC).

Нет комментариев

Есть вопросы по настройке игровых серверов? Добро пожаловать на форум!

Имя: Проверка: = 6037


© 2006—2014, HarpyWar

Любое копирование информации с этого сайта - только со ссылкой на источник.
Это в одинаковой мере распространяется на любую авторскую информацию в интернете.