سؤال

في هذه اللحظة نستخدم HSQLDB كقاعدة بيانات مضمنة، لكننا نبحث عن قاعدة بيانات ذات مساحة ذاكرة أقل مع نمو حجم البيانات.

ديربي / جافا دي بي ليس خيارًا في الوقت الحالي لأنه يخزن الخصائص عالميًا في خصائص النظام.لذلك فكرنا h2.

أثناء استخدامنا لـ HSQLDB، قمنا بإنشاء كائن خادم، وقمنا بتعيين المعلمات وبدأنا تشغيله.هذا موصوف هنا (ويعطى كمثال في الفصل org.hsqldb.test.TestBase).

السؤال هو:هل يمكن القيام بذلك بشكل مشابه لقاعدة بيانات h2 أيضًا؟هل لديك أي نماذج التعليمات البرمجية لذلك؟مسح صفحة h2، لم أجد مثالا.

هل كانت مفيدة؟

المحلول

ومن التنزيل، وأرى أن tutorial.html الملف يحتوي هذا

import org.h2.tools.Server;
...
// start the TCP Server
Server server = Server.createTcpServer(args).start();
...
// stop the TCP Server
server.stop();

نصائح أخرى

نعم، يمكنك تشغيل H2 في الوضع المضمن.ما عليك سوى استخدام برنامج تشغيل JDBC والاتصال بعنوان URL مضمن مثل هذا (مثالهم):

يمكن استخدام قاعدة البيانات هذه في الوضع المدمج ، أو في وضع الخادم.لاستخدامه في الوضع المدمج ، تحتاج إلى:

* Add h2.jar to the classpath
* Use the JDBC driver class: org.h2.Driver
* The database URL jdbc:h2:~/test opens the database 'test' in your user home directory

مثال على الاتصال مع JDBC بقاعدة بيانات H2 المضمنة (مقتبس من http://www.h2database.com/javadoc/org/h2/jdbcx/JdbcDataSource.html ):

import org.h2.jdbcx.JdbcDataSource;
// ...
JdbcDataSource ds = new JdbcDataSource();
ds.setURL("jdbc:h2:˜/test");
ds.setUser("sa");
ds.setPassword("sa");
Connection conn = ds.getConnection();

إذا كنت تتطلع إلى استخدام H2 في وضع الذاكرة/المضمن تمامًا، فيمكنك القيام بذلك أيضًا.انظر هذا الرابط للمزيد:

تحتاج فقط إلى استخدام عنوان URL خاص في كود JDBC العادي مثل "jdbc:h2:mem:db1".

إذا لسبب ما كنت بحاجة إلى قاعدة بيانات H2 جزءا لا يتجزأ من وضع ملقم يمكنك أن تفعل ذلك إما يدويا باستخدام API في http://www.h2database.com/javadoc/org/h2/ أدوات / Server.html - أو عن طريق إلحاق؛ AUTO_SERVER = TRUE إلى عنوان URL قاعدة بيانات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top