Что нового

Помогите с базами данных, с чего начать ?

tonycstech

Новичок
Может ли кто дать мне направление чтобы создать базу данных с пользователями и паролями.
Как её читать, как писать итд итп.
Что для этого надо, свой вэбсайт или или можно както локально запустить сервер ? (хотелось бы внешний, для практики)
Может есть какие то безплатные сервера где даётся безплатная база данных с каки ми то пределами но достаточно для тестирования ?

Я вообще понятия не имею где начать.
В дукументации не ясно гне начало. Какойто DLL зачем он мне ? Я думал база данных на сервере а не в DLL
Кароче мне не понятно.

Зарегестрировал акоунт на infinityfree.net.
Вроде есть база с адрессом и паролями итд но понятия не имею как к ней подключится.

Ктото пожалуйста обьясните что куда ?
Спасибо.

Можно по англиски. Я очень хорошо понимаю.
 
Последнее редактирование:

Medic84

Омега
Команда форума
Администратор
Во первых давайте начнем с того, что существует несколько провайдеров баз данных:
SQLite
MySQL
PostgreSQL
Во вторых, для того, чтобы разобраться с синтаксисом, системой и смыслом хранения я предлагаю начать с SQLite. Синтаксис почти совпадает с MySQL но на компьютер не нужно ставить громоздкое ПО для работы с этой базой данных. Нужна только DLL для работы с файлом БД, и UDF для Autoit которая уже есть.
В третьих, перед началом работы с базой данных в Autoit, рекуомендую пройти минимальное обучение по синтаксису - и как работать с СУБД. Для этого поможет сайт codeacademy
 
Автор
T

tonycstech

Новичок
Да я примерно понимаю как устроена база данных и имею представление как и что в ней делать.
Я тольно не пойму как к ней подключится.
infinityfree дало мне MySQL и PostgreSQL
Есть ли како то UDF или autoit может подлкючится и с помошью SQLite функций ?
Где брать этот DLL ?
Спасибо
 

---Zak---

Скриптер
Добрый день.

Возможно Вам поможет для начала моя помощь по поводу подключения к MySQL.

Чтобы подключиться к MySQL можно использовать следующий скрипт:
Код:
#Region Includes
#EndRegion Includes
#NoTrayIcon

Global $oMySQLError = ObjEvent("AutoIt.Error", "_MySQLError")

;~ Hostname where the MySQL database is running
Local Const $db_IPServer = ""
;~ MySQL username to connect
Local Const $db_Username = ""
;~ Password for the mysql user
Local Const $db_Password = ""

;~ MySQL database to connect.
Local Const $db_DataBase = ""

Global $_oMySQL = ObjCreate("ADODB.Connection")
$_oMySQL.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & $db_IPServer & ";UID=" & $db_Username & ";PWD=" & $db_Password & ";Database=" & $db_DataBase & ";PORT=3306")

;~ You code this

$_oMySQL.Close

Func _MySQLError()
    $HexNumber = Hex($oMySQLError.number, 8)

    MsgBox(16, "MySQL Error", "err.description is  : " & @TAB & $oMySQLError.description & @CRLF & _
                                                        "err.windescription  : " & @TAB & $oMySQLError.windescription & @CRLF & _
                                                        "err.number is       : " & @TAB & $HexNumber & @CRLF & _
                                                        "err.lastdllerror is : " & @TAB & $oMySQLError.lastdllerror & @CRLF & _
                                                        "err.scriptline is   : " & @TAB & $oMySQLError.scriptline & @CRLF & _
                                                        "err.source is       : " & @TAB & $oMySQLError.source & @CRLF & _
                                                        "err.helpfile is     : " & @TAB & $oMySQLError.helpfile & @CRLF & _
                                                        "err.helpcontext is  : " & @TAB & $oMySQLError.helpcontext)

    Exit

    SetError(1)
EndFunc   ;==>_MySQLError


Что мы видим из данного кода...

В 18 строчке мы пытаемся подключиться к серверу MySQL используя "MySQL ODBC 5.1 Driver"... Скачать его можно здесь - dev.mysql.com
В данном примере используется версия 5.1, т.е. с сайта указанного выше выбираем "Select Version" - 5.1.13
Далее выбираем Windows и желаемую версию разрядности системы...
PS: для начала выберем Windows (x86, 32-bit), MSI Installer
Скачиваем, устанавливаем...

После чего делаем внимание на 8, 10, 12 строчку, в которой у нас переменные... для подключения к базе данных MySQL
При необходимости подключения к конкретной базе данных необходимо сделать следующее: в строке 15 указать к какой базе данных будет подключение.
Данные Вам предоставляет хостинг или же можно установить на своем собственном ПК локальную версию ПО для работы с MySQL

Если данные указаны правильно и необходимый драйвер установлен, то скрипт должен отработать без ошибки, а так же не будет никаких сообщений.
PS: данный скрипт только подключается к серверу MySQL и отключается от него.

Если у вас вылезает ошибка вида:
[MySQL][ODBC 5.1 Driver]Access denied for user '***'@'***' (using password: YES)
Здесь Вам необходимо обратиться к администратору хостинга, или же зайти в админку самому и в настройках указать "Удаленный доступ" (название может отличаться).
 
Последнее редактирование:

Cytrus

Новичок
---Zak---, а Вы какое посоветовали бы локальное ПО для работы с MySQL ?
 

---Zak---

Скриптер
2 Cytrus
MySQL вы можете установить на свой собственный ПК и работать с ним. Гуглите что-нибудь типа "Установка MySQL"...
Но в основном MySQL используется для сайтов и работает как служба.

Как бы объяснить... Вы можете установить просто MySQL как служба на ПК и работать с ним через "командную строку", но это не совсем удобно.
Чтобы удобнее начать разбираться в базовом синтаксисе (делать запросы к БД) или же смотреть на результаты - я бы порекомендовал Вам копать в сторону PhpMyAdmin.

PhpMyAdmin - это так сказать web приложение написанное на PHP для администрирования MySQL. Более подробно см. "Википедия".
Но "установка PhpMyAdmin" потянет за собой полноценную установку другого ПО... таких как Apache, MySQL, PHP.

Для начала могу посоветовать Вам копать в сторону установки уже готовых "сборок" Apache, MySQL, PHP:
1. Open Server - (ссылка) - вроде как свежие версии ПО.
2. Denwer - (ссылка) - устаревшие версии ПО.

Если устанавливать своими руками, то может потребуется больше времени... Гуглите что-нибудь типа "Установка apache mysql php"...
Лично я начинал вникать с Denwer, но это было очень давно.
С "Open Server" не сталкивался, ну точнее сталкивался - но опыта или даже практики установки нет. На текущий момент судя по "версиям" минимальный набор - это BASIC.

На текущий момент все ПО установлено без каких-либо сборок и т.п.
Более-менее разжевано можно почитать на этом сайте - ссылка

Если грубо говоря:
1. Вам необходимо установить - Apache, MySQL, PHP
2. Создать виртуальный сайт и настроить (скачать) - PhpMyAdmin
3. Перейти на локальный сайт где установлен PhpMyAdmin и создать Базу Данных

PS:
Но как бы здесь встает вопрос о целесообразности использования MySQL и AutoIt.
MySQL - в основном это "удаленный сервер" для работы с БД. Возможно куда проще будет использовать SQLite и хранить все в файле совместно с разработкой AutoIt.
Другими словами... Чтобы использовать связку MySQL и AutoIt - вам необходимо использовать хостинг для базы данных и соответственно подключения с других компьютеров. Т.е. Вы не сможете (мы на текущий момент не рассматриваем внешний IP, проброс портов и т.п.) установить MySQL на своем домашнем ПК, а разработанную программу на AutoIt использовать на работе или кафе.

Все, конечно, зависит от ваших задач...

PSS: Так же стоит задуматься о безопасности подключения к MySQL.
Не для кого не секрет - Декомпиляция злоумышленников ПО может привести к печальным последствиям. Например, если злоумышленник получит Ваш логин, пароль от Базы Данных расположенном на удаленном сервере, то ждите изменения данных, или что еще кража персональных данных.

Не забывайте, что AutoIT это клиентский язык, т.е. он выполняется на стороне клиента.
 
Последнее редактирование:

Cytrus

Новичок
А с помощью ODBC я могу создавать локальные базы?
И могу ли я помощью старых реализаций СУБД, типа DAO или ADO коннектиться к современным серверам?
Без сторонних провайдеров.
Чисто те, которые шли в системе изначально.
Типа, "Microsoft FoxPro VFP Driver", "Microsoft ODBC for Oracle", "Microsoft Visual FoxPro Driver".
 
Автор
T

tonycstech

Новичок
Кароче говоря, без закачьки всяких приспособ ничего не выйдет ?
Сложно будет внедрить програмку с посторонним мусором на корпоративный компьютер без проблем.

Отложу я пока эту болячку до проэкта по серЬёзней, за который деньги плотят.

Спасибо за направление и разьяснение. Всё вроде понятно.
 
Верх