ПредишенСледващото

Но MS Access може да комуникира с други SQL-сървър, и Microsoft ни кара да си взаимодействат с MS SQL Server, ни предоставя всичко необходимо за това. Но аз избрах "мускули", поради следните причини.

-- Официален безплатно за предприемача
-- Възможност за легално изтеглите пакета (от 16 до 50 MB, в зависимост от разпределението) от интернет
-- Cross-платформа (не се притеснявайте, вашият сървър работи всяка операционна система)
-- Лесен за инсталиране (до един прост копие!) И актуализация
-- Наличието на пълна и последователна документация
-- Това означава, че MySQL - сървър, който е винаги с вас

Етапи на организацията на MS Access-MySQL приложения
Вие трябва да направите следното:

Инсталиране на MySQL сървър

За Windows, има три вида distibutiva

MySQL работи под Windows два начина:

Започвайки mysqld.exe файл
Стартирането на услугата, създадени по време на инсталацията (освен ако не посочите по време на инсталацията, трябва да се създаде услуга MySQL)

Създаване на кирилица подкрепа за MySQL

При провеждане на MySQL на Windows, можете да конфигурирате настройките му за използване my.ini файла

Така my.ini конфигурационен файл.

# Опциите за конфигуриране на сървъра MySQL
[Mysqld]
порт = 3306
гнездо = ​​/tmp/mysql.sock
прескачане блокировка
key_buffer = 16K
max_allowed_packet = 1М
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
# Задаване кирилицата към сървъра
подразбиране знака настроени = cp1251 # Определяне на кодирането
характера-комплекти-реж = гр: / MySQL / акции / набори от знаци # укажете пътя до кодировки на папките (приспособи към вашия сървър!)

# Параметри за конфигуриране на програмата за архивиране
[Mysqldump]
бърз
max_allowed_packet = 16M
# Задаване кирилицата към сървъра
подразбиране знака настроени = cp1251 # Определяне на кодирането
характера-комплекти-реж = гр: / MySQL / акции / набори от знаци # укажете пътя до кодировки на папките (приспособи към вашия сървър!)

# Параметри за конфигурация за mysql.exe на програмата клиент
[Mysql]
не-авто-преповтарям
# Задаване кирилицата към сървъра
подразбиране знака настроени = cp1251 # Определяне на кодирането
характера-комплекти-реж = гр: / MySQL / акции / набори от знаци # укажете пътя до кодировки на папките (приспособи към вашия сървър!)

[Isamchk]
key_buffer = 8М
sort_buffer_size = 8М

[Myisamchk]
key_buffer = 8М
sort_buffer_size = 8М

Създаване на база данни заявка

Свързване към база данни се извършва от ваше име. След инсталацията на сървъра е налице един потребител корен @ Localhost с празна парола (в по-старите версии е друг -. Root @ '%', но в последните версии вече не е I, от съображения за сигурност). Така pervіe стъпки, които трябва да изпълнява на сървъра.

Въведете командния ред на Windows (Start / Start → Run / Run → ПМС), задаване на текущата директория е директория поддиректория бин MySQL (в моя случай това е G: \ MySQL \ бин):
F: \> G:
G: \> CD MySQL \ бин

и напишете командата да се свърже с MySQL

Водещ и порт за настройките по подразбиране - съответно Localhost и 3306, паролата за корен все още (Сега ние ще определи това). И вие ще бъдете подканени да въведете MySQL SQL команди:
G: \ MySQL \ бин> MySQL -uroot
Добре дошли в монитора MySQL. Команди завършват с; или \ г.
Вашият MySQL връзка е номер 2 до сървъра версия: 5.0.27-общността

Тип "помощ;" или '\ ч "за помощ. '\ В "Тип за изчистване на буфера.

Първото нещо, което трябва да се направи - промяна на администраторската парола: Това е очевиден изисквания за безопасност.

MySQL> актуализация mysql.user зададете парола = Password ( "VashParol"), където потребителското = 'корен "и домакин =' Localhost";
Критерии OK, 0 редове засегнати (0.06 сек)
Редове съвпадение: 1 Changed: 0 предупреждения: 0

MySQL> изплакнете привилегии;
Критерии OK, 0 редове засегнати (0.08 сек)

Паролата бе променена. Но нашият разговор отива дори и при старата парола. Prervom ни сесия и zaydom с нова парола.

G: \ MySQL \ бин> MySQL -uroot -p
Въведете парола: *********

MySQL> / * създадете потребител, при които ще дойдат приложение MS Access * /
. Mysql> Разрешете всички привилегии на ImyaBazyDannyh *, за да "логин'@'192.168%" определени от "парола";
Критерии OK, 0 редове засегнати (0.03 сек)

MySQL> / * Създаване на нашите данни за бази от данни * /
MySQL> създадете ImyaBazyDannyh база данни;
Критерии OK, един ред засегната (0.00 сек)

MySQL> / * Създаване на маса * /
MySQL>

Създайте таблица в MySQL командния ред твърде уморително. Ето защо, трябва да изберете един от двата най-добър подход.

G: \ MySQL \ бин> MySQL -uroot -p ImyaBazyDannyh<Путь к файлу с инструкциями create table

Ще ви бъде поискана парола, а ако никога не сте направили грешка, ще бъде създаден на масата

Инсталиране на драйвера ODBC на всички машини, които се изпълняват молбата си

Стартирайте инсталационната програма за инсталиране на всякакви смислени въпроси той не го питат. За проблеми с инсталирането на драйвера, аз дори не чувам.

Промяна на кода на приложението - да се свързва автоматично маси

Ръчно създаване на ODBC източник и да го свържете към масата - не е методите на професионално развитие. Тук VBA примерен код за създаване на ODBC източник и е свързана, и таблици

Създаване на ODBC източник
Създаден или презаписани ODBC източник следното изявление:

DBEngine.RegisterDatabase ImyaIstochnikaODBC, ImyaODBC шофьор, вярно, StrokaParametrovPodklyucheniya

Дим се свърже като String
свържете = "сървъра = 192.168.1.1; потребителското = мениджър; парола = Зоро; порт = 3306; stmt = определени имена cp1251"
DBEngine.RegisterDatabase "TM", "MySQL ODBC 3.51 Driver", Вярно е, свържете

Обърнете внимание на параметъра stmt: тя позволява на MS Access правилно подкрепа на кирилицата.

Премахване на всички свързани с таблици
"Изтриване на всички свързани с таблици
Функционални Drop_linked_tables () Както Булева
На Error GoTo oblom
Дим TD Както TableDef
Дим tableName Както стринга

За Всеки TD В CurrentDb.TableDefs
Ако (вляво (TD.connect, 5) = "ODBC;") или (вляво (TD.connect, 10) = "; база данни =") След това

tableName = TD.Name
CurrentDb.TableDefs.Delete (tableName)
Крайна сметка, ако
Следваща TD
CurrentDb.TableDefs.Refresh

Exit Function
oblom:
Drop_linked_tables = False

Свързване на MySQL таблици чрез ODBC

"Свързване на MySQL таблици чрез ODBC

Функция StartConnectMySQL (ByVal вход Както стринга, ByVal odbcName Както стринга, ByVal db Както стринга) Както Булева
На Error GoTo oblom

Обаждането е Drop_linked_tables "Изтриване на всички свързани таблици

Дим newTD Както TableDef

Дим WS Както Workspace
Задайте WS = CreateWorkspace ( "ws_MySQL", "", "", dbUseODBC)
Дим се свърже Както стринга
свържете = "ODBC; база данни =" db "DSN =" odbcName
Дим MySQL Както DAO.Connection
Задайте MySQL = ws.OpenConnection (odbcName, dbDriverComplete, False, свържете)

Дим заявка Както стринга
заявка = "използване" db
MySQL.Execute (заявка)
заявките = "покажи маси"
Дим първо Както DAO.Recordset
Задайте първо = MySQL.OpenRecordset (заявка, dbOpenDynaset)

Направя, докато не rst.EOF
Комплект newTD = CurrentDb.CreateTableDef (RST (0))
newTD.connect = "ODBC; DSN =" odbcName "База данни =" db
newTD.SourceTableName = първия (0)
CurrentDb.TableDefs.Append newTD
rst.MoveNext
контур

Exit Function
oblom:
StartConnectMySQL = False

Ние прегледахме целия процес приложения MS Access, за да си взаимодействат преход в MySQL. Резултатът плаща за усилията, които ще се изискват от вас по този начин: Вие ще получите за кандидатстване, която е решила следните проблеми:

защита на база данни срещу увреждане на потребителите
Записване на действията на потребителите (лог файловете)
В допълнение, сега имате следните възможности:

-- Гледка към развитие, съхранени процедури, тригери
-- Използването на сделки
-- Взаимодействие с WEB приложения
-- Дистанционна конфигурация на сървъра на базата данни

Надявам се, че има нещо, което да ви помогне по пътя към тези възможности.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!