Как Smalltalk работает с базами данных?

Я использую Squeak4.1. Как он обрабатывает соединения с базой данных? Обеспечивает ли это что-то похожее на ODBC/ADO в.NET или J2EE?

Какие пакеты связаны с операциями с базой данных?

Кто-нибудь может дать мне несколько советов?

4 ответа

Решение

Несколько ссылок, которые могут быть вам полезны:

Если вы хотите что-то, что действительно является аналогом ODBC/JDBC или ADO.NET, то ближайшим аналогом был бы SqueakDBX, универсальный соединитель на основе FFI для широкого спектра баз данных. Хотя он использует FFI, разработчики пошли на многое, чтобы гарантировать, что длительные операции не блокируют виртуальную машину. Хотя я не могу честно сказать, что использовал его в работе, отзывы были положительными, он поддерживает очень широкий спектр баз данных (MySQL, Microsoft SQL Server, PostgreSQL, SQLite3 и т. Д.) И активно развивается, поэтому это, вероятно, хорошая ставка.

Исторически, недостатком SqueakDBX является то, что вы не получили GLORP, основной ORM, используемый в мире Smalltalk в наши дни. Хорошая новость в том, что это уже не так: в SqueakDBX теперь есть GlorpDBX, который переводит GLORP в SqueakDBX. Драйверы в настоящее время доступны для PostgreSQL, MS SQL, MySQL и других. Если вам нужно подключиться к традиционной базе данных, это, вероятно, ваш лучший выбор.

Бенджамин: Мы уже начали модифицировать Glorp, мы называем его GlorpDBX, и теперь Glorp работает с универсальным драйвером базы данных, включающим драйвер GlorpSqueakDBX. Сейчас у нас GlorpDBX работает с SqueakDBX для Postgres, MSSQL и Oracle.

ура

Вам может не понадобиться. Если ваш код smalltalk выполняется в Gemstone, вам не нужно беспокоиться о соединениях с базой данных и запросах, прежде чем у вас будет много данных / много транзакций. А если количество объектов очень мало, SandstoneDB намного проще в использовании. На странице "Постоянство в Приморье" вы можете найти ссылки.

Другие вопросы по тегам