1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00
Files
archived-doc-ru/faq/databases.xml
Sergey Panteleev daef8df962 Обнуление тега Reviewed (#364)
[skip-lint]
[skip-spellcheck]
2021-11-16 13:03:53 +03:00

172 lines
9.1 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b8e1b1357def73f310c9f7405035b3acc0cb1eaf Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="faq.databases" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Вопросы по Базам данных</title>
<titleabbrev>Вопросы по базам данных</titleabbrev>
<para>
Этот раздел содержит общие вопросы о связи между PHP и базами данных.
Да, сегодня практически любая база данных может быть доступна из PHP.
</para>
<qandaset>
<qandaentry xml:id="faq.databases.mssql">
<question>
<para>
Я слышал, что можно получить доступ к Microsoft SQL серверу из PHP. Как?
</para>
</question>
<answer>
<para>
На Unix вы можете использовать <link linkend="ref.pdo-odbc">PDO_ODBC</link>
или <link linkend="book.uodbc">Унифицированное ODBC API</link>.
</para>
<para>
На Windows вы можете использовать <link linkend="ref.pdo-sqlsrv">PDO_SQLSRV</link>
или <link linkend="book.sqlsrv">SQLSRV</link>.
</para>
<para>
Также смотрите ответ на следующий вопрос.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.databases.access">
<question>
<para>Могу ли я получить доступ к базам данных Microsoft Access?</para>
</question>
<answer>
<para>
Если вы хотите связать PHP, выполняющийся на Unix, и MS Access на
Windows, то вам будут нужны драйверы ODBC для Unix.
Такие ODBC драйверы для Unix есть у <link xlink:href="&url.openlink;">OpenLink
Software</link>.
</para>
<para>
Другая возможность - хранить данные на SQL сервере, который имеет
ODBC драйверы для Windows, и затем обращаться к этой базе данных из
Microsoft Access (используя ODBC) и из PHP (используя встроенные драйверы)
или использовать промежуточный формат, понятный и для Access, и для PHP,
например, простые файлы или базы данных dBase.
По этому поводу Тим Хэйз (Tim Hayes) из OpenLink software пишет:
<blockquote>
<para>
Использование промежуточной базы данных - не очень хорошая идея, когда
есть возможность работать с базой данных напрямую из PHP через ODBC,
например с драйверами от OpenLink. Если вам всё-таки надо использовать
промежуточный формат, OpenLink выпустил Virtuoso (механизм виртуальной
базы данных) для NT, Linux и других платформ Unix.
Пожалуйста, посетите наш <link xlink:href="&url.openlink;">веб-сайт</link>
для бесплатной загрузки.
</para>
</blockquote>
</para>
<para>
Другой проверенный вариант - использовать MySQL с её MyODBC драйверами на
Windows и делать синхронизацию баз данных. Стив Лоренс (Steve Lawrence)
пишет:
</para>
<para>
<itemizedlist>
<listitem>
<simpara>
Установите MySQL согласно поставляемым с ней инструкциям.
Последняя версия доступна с <link xlink:href="&url.mysql;">&url.mysql;</link>.
Особой конфигурации не требуется,
за исключением того, что при настройке баз данных и создании пользователя,
в поле хоста вы должны поместить % или имя Windows машины, на которую
вы хотите получить доступ из MySQL. Запишите имя вашего сервера,
имя пользователя и пароль.
</simpara>
</listitem>
<listitem>
<simpara>
Скачайте драйвер MyODBC для Windows с сайта MySQL.
Установите его на вашей машине Windows. Вы можете проверить его
работоспособность с помощью поставляемых с ним утилит.
</simpara>
</listitem>
<listitem>
<simpara>
Создайте пользователя или системный dsn в вашем администраторе ODBC,
расположенном в контрольной панели. Создайте имя dsn, введите имя хоста,
имя пользователя, пароль и т.д. для вашей базы данных MySQL,
сконфигурированной на 1-ом шаге.
</simpara>
</listitem>
<listitem>
<simpara>
Установите полную версию Access, это даст вам уверенность, что вы
получите все нужные расширения (add-ins). По крайней мере вам будут
необходимы поддержка ODBC и администратор связанных таблиц.
</simpara>
</listitem>
<listitem>
<simpara>
И теперь самое интересное! Создайте новую базу данных Access.
В окне таблицы щёлкните правой кнопкой мышки и выберите Link Tables
(Связать Таблицы), либо из файлового меню выберите Get External Data
(Получить Внешние Данные) и затем Link Tables. В появившемся окне
просмотра файлов выберите файлы типа ODBC.
Выберите системный dsn и имя вашего dsn, созданного на 3-ем шаге.
Выберите таблицу для связи, нажмите OK и вуаля! Теперь вы можете
открыть таблицу и добавить/удалить/отредактировать данные на вашем
MySQL сервере! Вы также можете строить запросы, импортировать/экспортировать
таблицы в MySQL, создавать формы и отчёты, и т.д.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Полезные советы и трюки:
<itemizedlist>
<listitem>
<simpara>
Вы можете создавать ваши таблицы в Access, экспортировать их в MySQL
и затем привязать их назад. Это увеличивает скорость создания таблиц.
</simpara>
</listitem>
<listitem>
<simpara>
При создании таблиц в Access, вы должны определить первичный ключ,
чтобы иметь доступ к таблице по записи. Убедитесь что вы создали
первичный ключ в MySQL перед тем как привязать таблицу к Access.
</simpara>
</listitem>
<listitem>
<simpara>
Если вы изменяете таблицу в MySQL, то вы должны связать её с Access
по новой. Идите в tools&gt;add-ins&gt;linked table manager,
следуйте к вашему ODBC DSN, и выберите оттуда таблицу для пересвязки.
Там же вы можете изменить источник вашего dsn, для этого, перед тем как
нажать OK, просто пометьте "always prompt for new location"
(всегда запрашивать новое местонахождение).
</simpara>
</listitem>
</itemizedlist>
</para>
</answer>
</qandaentry>
</qandaset>
</chapter><!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->