Quest3D - Русскоязычное сообщество

Quest3D => Программирование => Тема начата: lazudhic от 11 Октября 2014, 05:36:25



Название: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: lazudhic от 11 Октября 2014, 05:36:25
некоторое время назад сел за изучение квеста , честно понравилось. правда этот сайт не работал когда его изучал. сейчас хочу разобраться что это такое MySQL и ODBC. попробовать сделать как я понимаю таблицу и работать с ней в начале на одном компе потом по сетке и потом через интернет . где? что? с чем? и как? хочу разобраться пошагово . выкладывайте примеры кто и как с этим работал чтоб было понятно не только продвинутым квестоманам но и новичкам !!! флуды про то что иди туда посмотри или ты ещё мал и глуп  не пишите а то желание не одного у меня отобьёте, а значит топтаться ещё долго будем на одном месте   


Название: Re: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: lazudhic от 11 Октября 2014, 05:46:30
начнём с ODBC
выдержка из учебника-ODBC в Quest3D работает подобно подключениям MySQL, за исключением того, что подключение выполняется с помощью драйвера, а не напрямую к базе данных. Драйвер ODBC выставлен на подключение к dBase, MS Excel и MQIS файлам, а также к базам данных MS Access

ну конечно сразу обратил внимание MS Excel

1)как я понимаю в Microsoft Office Excel создадим таблицу и можно будет получать значения из неё и вставлять свои?

2)ODBC в Quest3D работает подобно подключениям MySQL, за исключением того, что подключение выполняется с помощью драйвера, а не напрямую к базе данных. как её подключить? и что значит  не напрямую к базе данных ?


Название: Re: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: lazudhic от 11 Октября 2014, 06:38:25
нашёл пока вот что
Настройка источника данных для доступа к документу Excel (*.xls).


Откройте документ Excel, выделите в нем нужный диапазон ячеек (можно все) и присвойте им имя, например Ring. (Чтобы присвоить имя заданному диапазону ячеек в меню Вставка выберите пункт Имя, а затем Присвоить. В появившемся окне введите имя). После этого документ сохраните и закройте. Теперь вы получаете возможность доступа к диапазону, который вы выделили. В одном документе Excel может быть несколько таких диапазонов с присвоенными именами. К каждому их них можно получить доступ из программы указав имя диапазона.
Запускаете программу Администратор источников данных.
В разделе User DSN (Пользовательский DSN) или System DSN (Системный DSN) Нажмите кнопку Add (Добавить).
В появившемся окне выберите драйвер Microsoft Excel Driver (*.xls) и нажмите кнопку Готово (Finish).
Появится окно с свойствами Источника данных. Введите имя источника (Data Source Name) например RingExcel.
Нажмите на кнопку Выбрать книгу (Select Workbook) и выберите нужный файл (например Ring.xls, который поставляется с программой).
Нажмите на кнопку Ok и еще раз Ok.
В программе, в разделе Источник данных выберите созданный Вами источник данных (RingExcel).
Если для доступа к документу требуется ввести имя и пароль введите их в соответствующих полях (для документа поставляемого с программой имя и пароль не требуется).
Проверяете работоспособность созданного источника данных.


Название: Re: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: lazudhic от 11 Октября 2014, 07:05:47
вот нашёл программку для работы с mysql -mysqlworkbench (жаль английская зараза)


Название: Re: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: →|๖ۣۜDen|← от 11 Октября 2014, 20:00:00
Привет, lazudhic.
с ODBC лично я не сталкивался, и не уверен, что те кто ещё заходит на форум, дадут тебе ответы на вопросы. Да и на форуме не было особо глубоких обсуждений, связанных с ODBC. Но тема интересная, поэтому если разберёшься, выкладывай исходники, будет любопытно посмотреть что получилось. ;)


Название: Re: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: lazudhic от 19 Октября 2014, 08:23:27
ну первое для чего это нужно
1 позволяет получать и изменять данные в таблице (к примеру вы можите создать игру а местоположение заносить в таблицу и получать с таблицы местоположение других игроков)
2 в таблице вы изменяете данные только свои (т.е. каждый игрок работает только со своей строчкой -вроде так если таблица настроена на это)
3 получать может хоть всю таблицу )
4 в интернете есть сайт db4free.net вот на нём и буду пробовать настроить таблицу(что то в роде сервера)
5 программу клиента (игру или ещё чего) можно написать на квесте и подключаться к таблице находящуюся в интернете (сервер)

так что может вместе попробуем разобраться ?!?


Название: Re: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: →|๖ۣۜDen|← от 19 Октября 2014, 11:00:00
lazudhic, если необходимо реализовать связь с сетевой БД, то могу посоветовать отличную бесплатную программу dbForge Studio for SQL Server (http://www.devart.com/ru/dbforge/mysql/studio/), в ней есть весь инструментарий для создания БД, таблиц, запросов.
Сама работа, связанная с чтением и записью определённых данных, расположенных в БД, производится посредством запросов. В квесте в одном из своих проектов я использовал кастомный канал для проведения POST-запросов на отправление и получение данных. Для этого на сервере необходимо создать соответсвующие php-сценарии (запись и чтение данных из базы). В общем случае в php прописываются данные для подключения БД (имя БД, хост, пользователь и пароль) и соответсвующий mysql-запрос. Обращаясь к определённому php через POST-запрос, производится непосредственный mysql-запрос к необходимым таблицам и полям БД. Вот вкратце всё, что касается работы с mysql.
Вот неплохой урок (https://code-live.ru/post/custom-search-for-site-with-php-and-mysql/) по php, где показан пример чтения данных из БД.
Вполне возможно, что есть более лёгкий способ проводить mysql-запросы в самом квесте, в обход php и POST-запросов, но я рассказал о способе, которым пользовался сам.


Название: Re: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: Egor от 08 Ноября 2014, 02:24:04
Если очень вкратце то. По MySQL, в Quest есть длл-ка DB DriverMySQL, работает как надо, синтаксис SQL полностью по документации, единственное, что бы русский чарсет не кракозябрами был, перед каждым подключение к базе нужно выполнять DB Query "SET NAMES 'CP1251';", что ещё..к примеру квест может сэтить текстуры в таблицу, но прочитает их только квест естественно,но есть обходные пути. MySQL драйвер работает не очень быстро когда дело касается интенсивных конструкций. По ODBC, работал Sqlite и Firebird. Как основное можно выделить, что синтаксис практически приходилось экспериментальным способом выявлять, очень много всяких нюансов вылазит. Ну и как вывод на ODBC с Sqlite сдали нервы и невозможность реализации поставленных задач.С Firebird всё получилось, правда синтаксис запросов специфический, но работает на сверх звуке.


Название: Re: помогите разобраться с MySQL и ODBC новичку !!!!
Отправлено: Egor от 08 Ноября 2014, 02:42:44
По поводу напрямую не напрямую к базе, например MySQL и Firebird это серверные бызы т.е грубо говоря запущен TCP сервер и отвечает тебе на твои запросы. А вот Sqlite это статическая база т.е просто файл, записи в который осуществляются путём драйвера ODBC или DLL. А по поводу игроков, их позиций и тп, работает это всё не так как вы себе представляете lazudhic. но это совсем другая тема в которой база данных на последних строчках решения.