mirror of
https://github.com/php/doc-ru.git
synced 2026-03-23 23:32:16 +01:00
172 lines
9.1 KiB
XML
172 lines
9.1 KiB
XML
<?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>add-ins>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
|
||
-->
|