Как Smalltalk работает с базами данных? - PullRequest
4 голосов
/ 24 февраля 2011

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

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

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

Ответы [ 4 ]

5 голосов
/ 24 февраля 2011

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

5 голосов
/ 24 февраля 2011

Если вы хотите что-то, что действительно является аналогом 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 и других.Если вам нужно подключиться к традиционной базе данных, это, вероятно, ваш лучший выбор.

2 голосов
/ 24 февраля 2011

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

2 голосов
/ 24 февраля 2011

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

Приветствия

...