标签: embedded-database

哪个本地数据库适合我的情况?

我将构建一组应用程序.其中一个应用程序是无人值守的应用程序(用VB6编写),它将从各种源接收的数据写入本地数据库.所有其他应用程序(将在VS 2008/c#3.0中编写)将主要用于报告原因来读取此数据.

我不想要SQL Server/MySql/Sybase甚至是它的快速版本,因为分发它是一个问题(例如需要单独安装等等).我正在寻找一个本地数据库,其中包含VB6的驱动程序(所以可能是OLEDB,或ODBC,如果我必须解决它)和ADO.NET.如果数据库支持ORM,如NHibernate或至少1对1的映射器,如Subsonic,这也不错,但这不是一个交易破坏者.但我的主要要求是数据库应该非常可靠,这样我就不必浪费时间摆弄它,恢复丢失的数据等等......

我从当天回来就有MS Access的经验,没有太多好的回忆(也不是很糟糕).我听说过SQLite,SQL Server Compact Edition,VistaDB等......但对它们没有经验,我不知道有谁实际使用过它.

什么是最适合我的情况?

c# database vb6 embedded-database

3
推荐指数
2
解决办法
2409
查看次数

RavenDB Embedded:磁盘上存储的数据在哪里?

当使用EmbeddableDocumentStore对RavenDB,在什么地方得到的数据存储在磁盘上

var documentStore = new EmbeddableDocumentStore { DataDirectory = "TestApp" };
Run Code Online (Sandbox Code Playgroud)

DataDirectory和磁盘位置之间是否存在关联?

更新:使用截至2011-08-09的最新版本.它是一个控制台应用程序,所以没有ASP.NET目录.

c# embedded-database ravendb

3
推荐指数
1
解决办法
794
查看次数

如何在c#中创建嵌入式Neo4j数据库

如何在c#中创建嵌入式Neo4j数据库?我想在这个嵌入式数据库上执行查询以进行测试,然后将其丢弃.目前我正在使用neo4jclient对我的系统上运行的数据库(localhost)执行查询,但希望在嵌入式数据库上执行此操作.我该怎么做?

Java中以下列方式存在此功能:

GraphDatabaseFactory graphDbFactory = new GraphDatabaseFactory();
GraphDatabaseService graphDb = graphDbFactory
      .newEmbeddedDatabase("data/dbName");
Run Code Online (Sandbox Code Playgroud)

在c#中查找这些行中的内容.

c# embedded-database neo4j neo4jclient

3
推荐指数
1
解决办法
617
查看次数

'getRow()' 方法只允许用于滚动游标 SQLException 错误

我正在尝试从我在 Netbeans 中设置的嵌入式数据库填充我的 JTable。

我的数据库包含 3 行和 3 列,我想插入到 JTable 中,并使该表在我的 GUI 应用程序中可见。

但是,正如上面的标题所说,我收到了 java.sql.SQLException 错误,并且我的表在我的 GUI 应用程序中将不可见。

这是我的代码:

public void FillTable(JTable table, String Query)
{
    try
    {
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
        Connection conn = DriverManager.getConnection("jdbc:derby:STOCK_CONTROL");
        Statement stat = conn.createStatement();
        ResultSet rs = stat.executeQuery(Query);

        //Remove previously added rows
        while (table.getRowCount() > 0)
        {
            ((DefaultTableModel) table.getModel()).removeRow(0);
        }

        int columns = rs.getMetaData().getColumnCount();

        while (rs.next())
        {
            Object[] row = new Object[columns];

            for (int i = 1; i <= columns; i++)
            {
                row[i - 1] = rs.getObject(i); …
Run Code Online (Sandbox Code Playgroud)

java sql jdbc derby embedded-database

3
推荐指数
1
解决办法
1151
查看次数

如何在没有嵌入数据源配置的情况下在 spring 启动测试期间执行`schema.sql`?

有一个带有 h2 数据库的 spring boot 应用程序,用作主数据库。还有一个resource/schema.sql在启动时通过 spring boot 加载的。

但是在使用@SpringBootTestspring boot 的集成测试期间不会加载这个schema.sql。相反,它需要在h2已经有db 的情况下设置嵌入式数据库。

有没有办法在schema.sql没有嵌入数据源配置的情况下执行?并且只对所有测试执行一次(例如@Sql,用于所有测试的模式创建不是解决方案)?

java spring embedded-database spring-boot spring-boot-test

3
推荐指数
1
解决办法
9678
查看次数

随我的应用程序一起提供的开源数据库

我需要开源数据库,我可以随商业应用程序一起提供.它不应该有任何安装(即没有窗口服务和没有设置).

它可以是单用户数据库.它应该在Windows环境中工作并从Java代码中使用.

谢谢

database open-source embedded-database

2
推荐指数
2
解决办法
390
查看次数

不需要额外安装的数据库

我开发了C#应用程序,用于存储和检索SQL数据库中的数据.但是,当我的客户必须部署应用程序,他需要安装SQL Server Express 2008,这是它的requirement.Now他希望该软件没有额外的安装add-on.so我除了点网框架,不应该有任何安装额外安装.

我已经见过像某些数据库中SQL compact,SQL lite ,SQL CE and blackfishSQL,但我真的DONOT知道,做他们需要额外的安装和做什么努力,我必须做出根据我看着选定的数据库来改变我的整个代码这个 请大家帮帮我

sql database sqlite embedded-database sql-server-ce

2
推荐指数
1
解决办法
236
查看次数

执行SQL语句时出现语法错误

我有以下方法删除数据库,但我得到一个语法错误,我不知道发生了什么.

public void deleteDB(){
    try{
        Statement s = conn.createStatement();
        System.out.println("Deleteting database...");
        s.execute("DROP DATABASE Courses");
        System.out.println("Database deleted.");
    }
    catch(SQLException error){
        System.err.println("Unable to delete database.");
        error.printStackTrace(System.err);
        System.exit(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

我用以下方法调用该方法:

UpdateDB update = new UpdateDB();
update.connectDatabase(dbName);
update.deleteDB();
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "DATABASE" at line 1, column 6.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

有什么建议?

java sql embedded-database

2
推荐指数
1
解决办法
1510
查看次数

春季测试多次关闭嵌入式数据库

我正在使用h2嵌入式数据库,其定义如下:

<jdbc:embedded-database id="embeddedDatasource" type="h2"/>
Run Code Online (Sandbox Code Playgroud)

我有两个测试:

@RunWith(SpringJunit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration("classpath:h2-context.xml")
class Test1 {...}

@RunWith(SpringJunit4ClassRunner.class)
@ContextConfiguration("classpath:h2-context.xml")
class Test2 {...}
Run Code Online (Sandbox Code Playgroud)

执行完所有测试后,我确实在日志中看到:

* Closing org.springframework.context.support.GenericApplicationContext
* Closing org.springframework.web.context.support.GenericWebApplicationContext
* Closing JPA EntitiManagerFactory for Persistance unit ...
* Closing JPA EntitiManagerFactory for Persistance unit ...
Run Code Online (Sandbox Code Playgroud)

因此,在执行完所有测试之后,将为每个上下文关闭实体管理器。我知道spring会缓存上下文文件,所以我猜H2 bean在两个测试之间共享。

问题是:有时我会收到奇怪的异常,例如:

H2EmbeddedDatabaseConfigurer: Could not shutdown embedded database
jrg.h2.jdbc.JDBCSQLException: The database has been closed [90098-179]
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

到目前为止,这是我发现的内容: Spring的嵌入式H2数据源和DB_CLOSE_ON_EXIT

java spring h2 spring-test embedded-database

2
推荐指数
1
解决办法
4855
查看次数

在Spring上的H2数据库上集成测试MySQL语法的问题

我正在开发一个使用不同MySQL模式进行客户管理的项目,eG每个客户都有自己的数据库模式,该模式是使用骨架模板创建的.

对于兼容性问题,我必须从Java创建新的MySQL模式,这是在PHP之前完成的.我创建了一个小型服务类,它通过重复使用在MySQL数据库上完美地CREATE TABLE 'a' LIKE 'b';工作,但是这不适用于H2db,因为H2 LIKE在创建表时不支持-part.然后我创建了一个MySQL并修改了该文件,以便用Java(Files.readAllLines可以输入Statement.executeBatch)轻松处理.但是,由于语句如此,此转储在H2db上也会失败COLLATION=UTF8.遗憾的是,这些都很重要,因为我们经常需要特殊的字符,需要正确编码,所以不建议简单地从sql文件中删除所述语句.

我像这样初始化DataSource:

public DataSource dataSource(ResourceLoader resourceLoader) {
    return new EmbeddedDatabaseBuilder()
            .setType(EmbeddedDatabaseType.H2)
            .setScriptEncoding("UTF-8")
            .addScript("data.sql").build();
}
Run Code Online (Sandbox Code Playgroud)

所以,我的配置可能性很少.我们gradle用来构建我们的应用程序,所以建议的maven-plugin也无济于事 - 至少我还没有找到使用它gradle,如果可能的话.

所以我的问题在于,我需要检查服务是否真正保持数据正确,但我无法在内存中执行,因为H2不支持语法,我不允许使用"真正的"MySQL数据库,因为我们所有的测试都必须与"真实"连接分离,并且必要时只能使用数据库的内存存储.

mysql spring embedded-database h2db

2
推荐指数
1
解决办法
1438
查看次数