Общие вопросы о MySQL и MySQLite

0

Я собираюсь писать в файл базы данных MySQLite, используя Perl модуль DBD: SQLite, и мне интересно, возможно ли это для этого файл должен быть прочитан любым распространением MySQL? Есть ли лучший способ создать простую базу данных MySQL (используя Perl)?

Если это что-то значит, я буду использовать базу данных для хранения пар ключ-значение на основе уникальных идентификационных номеров для ключей. Я попробовал BerkeleyDB, но на Perl его немного не поддержали, и я не мог заставить его работать в прошлом в некоторых версиях Windows.

Изменить: я знаю, что BerkeleyDB - лучший способ сделать это, но когда я писал для него сценарии, большинство методов имеют TODO, и у меня были загадочные ошибки в Windows Server 2003 с использованием того же самого воздухонепроницаемого кода который работал в течение 2 недель прямо на моей машине Win7 дома.

  • 2
    Я почти уверен, что MySQLite нет. Есть SQLite и это фантастика!
  • 1
    BerkeleyDB довольно сильно поддерживает Perl. DB_File - это основной способ доступа к нему, доступный с Perl, если он был построен с поддержкой BDB. В CPAN также имеется модуль BerkeleyDB, который обеспечивает доступ к большей части интерфейса BDB. search.cpan.org/perldoc?BerkeleyDB
Теги:

3 ответа

2
Лучший ответ

Я использую Perl DBI module, который я могу использовать для чтения баз данных с использованием MySQL или SQLite. Все, что вам нужно, это правильный драйвер. Фактически, если вы правильно пишете свою программу, база данных (SQLite или MySql) не имеет значения. Ваша программа будет работать с одним из них.

Однако вы не можете использовать базу данных SQLite, а затем рассматривать ее как базу данных MySQL. Это два разных существа. Ваша программа может быть агностикой базы данных, но как только вы выбрали базу данных, вы не можете переключаться туда и обратно. Это будет похоже на открытие базы данных Oracle в виде базы данных MySQL.

Смотрите Эта публикация на Perl Monks для получения дополнительной информации.

5

MySQL и SQLite - это полностью отдельные системы РСУБД. Нет такой вещи, как MySQLite. Насколько я знаю, MySQL не может читать базы данных SQLite.

Если все, что вам действительно нужно, это хранилище с ключом, возможно, посмотрите на Redis: http://code.google.com/p/redis/

  • 0
    На самом деле синтаксис MySQL сильно отличается ( CREATE , ALTER т. Д.) От SQLite. Они очень несовместимы. Однако большинство запросов SELECT .
2

BerkeleyDB хорошо поддерживается perl. У вас есть выбор между старым DB_File и более полнофункциональным модулем BerkeleyDB.

Но есть множество вариантов. Если вы не хотите запускать отдельный серверный процесс, используйте DBI и DBD:: SQLite или BerkeleyDB или любой из модулей AnyDBM_File. Для простого хранилища ключевых значений на сервере существует redis или более старый memcached.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню