将H2数据库与安卓系统结合起来
是否有任何将H2数据库与Android集成并开始研究的教程? 我正在寻找指南. 谢谢. 解决方案 h2 android文档是我知道的唯一文档.
4 2024-02-05
编程技术问答社区
H2、HSQLDB或任何其他使用InputStream的嵌入式数据库。
我可以使用InputStream而不是文件的数据库使用H2,HSQLDB或任何其他嵌入式数据库? 我打算使用 解决方案 h2支持A 可插拔的文件系统 href =" http://h2database.com/html/features.html#database_in_in_zip" rel =" nofollow"> zip或jar文件中的仅读取数据库.但是,当前没有针对AssetManager的文件系统实现.实施它应该相对容易.最好的起点可能是其他解决方案 大多数数据库都需要随机访问基础文件,因此InputStream不会做. 其他解决方案 afaik, h2//hsqldb.org/doc/guide/ch01.html#n101a8" rel =" nofollow"> hsqldb 当在"独立"模式中使用时,仅提供基于文件的和内存连接的URIS.因此,需要一个文件或一些堆内存空间;但是您不给它一个文件/inputstream,所有内容都在连接uri中,例如j
0 2024-02-01
编程技术问答社区
H2数据库与Android上的SQLite对比
因为在android的嵌入式sqlite数据库中缺乏Unicode支持 我对 h2数据库的性能和稳定性非常感兴趣/www.sqlite.org/" rel =" noreferrer"> sqlite 你们在使用它吗? 我应该知道任何H2数据库缺点吗? 解决方案 事情比我预期的要好得多.我现在有一部Android手机(HTC Desire,Android 2.2),我进行了第一次测试. 打开和关闭数据库到目前为止相对较慢(第二次打开现有的数据库需要0.2秒,关闭约0.2秒),但否则,即使Dalvik VM是,H2在Android上的表现也很好尚未像桌面JVM那样优化.现在给出具体数字还为时过早,但是Android现在是一个受支持的平台.
0 2024-01-28
编程技术问答社区
H2数据库:如何使用加密进行保护,而不暴露文件加密密钥
我们在服务器模式下使用Java + H2数据库,因为我们不希望用户访问数据库文件. 为了在数据库文件中添加更多保护,我们计划使用AES加密(添加Cipher = AES到数据库URL),以防存储被盗. 但是,连接时,每个用户还需要提供文件保护密码([文件密码] [space] [用户密码]). 尽管用户无法访问数据库文件,但了解加密密钥(文件保护密码)将使加密变得毫无用处. 任何想法都可以保持数据库文件安全(加密)而不将文件加密密钥曝光给用户? 谢谢. 解决方案 当前在H2中无法做到这一点. 一种解决方案是使用独立于H2的文件系统加密. 但请注意,您必须提供(数据库文件或文件系统)密码.这可能是启动服务器时(提示要手动输入密码).不幸的是,由于有人必须输入密码,因此您无法完全自动启动服务器. 其他解决方案 我听说过的一种聪明的方法是编写一个简单的Web服务,以阻止除WebApp服务器以外的所有站点.使用SSL与基于证书的身份验证.
2 2024-01-19
编程技术问答社区
如何连接到runnable jar中的只读H2数据库文件?
我需要使用Create/Insert语句创建一次数据库,然后在Javafx Runnable JAR中提供 仅阅读 db访问. 我刚刚浏览了H2数据库文档,并尝试使用H2 Driver version 1.4.196 and 1.4.192来实现此目标,但我认为我缺少某些东西. 我可以连接而无需将其包含在可运行的罐子中,而只读事物也有效.但是我需要从罐子本身访问它,以防止外部人员访问数据库. 我可以连接字符串或逻辑以连接jar本身的DB文件吗? 我需要从我已经实现了z的逻辑为但是,当我在可运行的jar中添加zip文件并通过以下代码访问它时: DriverManager.getConnection("jdbc:h2:file:split:zip:./test.zip!/test"); 然后,它引发了例外: Exception in thread "main" org.h2.jdbc.JdbcSQLException: IO Exception: "
6 2023-12-26
编程技术问答社区
org.h2.jdbc.JdbcSQLException: 没有找到表
我得到了这个例外: org.h2.jdbc.JdbcSQLException: Table "CUSTOMERS" not found; SQL statement: SELECT * FROM CUSTOMERS 这是H2控制台.我在那里创建了一个表: 我有application.yml文件.我尝试添加db_close_delay = -1和database_to_upper = false: spring: database: url: jdbc:h2:mem:testdb h2: console.enabled: true 另外,我有一个配置类,其中我创建了H2嵌入式数据库: @Bean public DataSource dataSource() { return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2).build(); } 最
10 2023-12-25
编程技术问答社区
wso2是改变嵌入式数据库的模式
我正在使用WSO2为5.2.0 由于某些原因,我想更改默认嵌入式H2数据库的数据架构. 例如, 表格" adcess_token"的最大卷长度为" idn_oauth2_access_token"为255个字符.我想将其更改为8194. 我进行了以下更改的配置文件"/dbscripts/indesity/h2.sql"(请参阅​​值" 8194") CREATE TABLE IF NOT EXISTS IDN_OAUTH2_ACCESS_TOKEN ( TOKEN_ID VARCHAR (255), ACCESS_TOKEN VARCHAR (8194), REFRESH_TOKEN VARCHAR (255), CONSUMER_KEY_ID INTEGER, AUTHZ_USER VARCHAR (100), TENA
2 2023-12-15
编程技术问答社区
H2DB的WITH子句
我正在编写使用以下SQL 的方法的单元测试 WITH temptab( i__id , i__name, i__effective, i__expires, i__lefttag, i__righttag, hier_id, hier_dim_id, parent_item_id, parent_hier_id, parent_dim_id, ancestor, h__id, h__name, h__level, h__effective, h__expires, rec_lvl) AS ( SELECT item.id as i__id, item.name as i__name, item.effectivets as i__effective, item.expirests as i__expires, item.lefttag
6 2023-12-10
编程技术问答社区
无法找到或加载主类 org.h2.tools.Console
我想连接到H2控制台.我已经构建了KeyCloak的代码来源,现在我在BIN存储库中,并录制了以下命令 java -cp jar org.h2.tools.console -url" $ url" -user sa -password"" 要连接到H2控制台,但我会收到以下错误 错误:找不到或加载主类org.h2.tools.console 引起:java.lang.classnotfoundexception:org.h2.tools.console 解决方案 我会使用这种方法,它应该解析类的分辨率: java -cp h2-1.4.200.jar org.h2.tools.Console 这将启动控制台.请相应地适应您正在启动Java的目录. 请记住,控制台需要您在控制台WebApp中输入凭据.
4 2023-12-04
编程技术问答社区
如何在java ee应用程序中启用h2控制台
我希望在开发应用程序期间访问H2控制台功能.我正在使用Javaee和Wildfly作为我的应用程序服务器. 我知道,对于Spring Boot,我们需要添加配置的Follwing行: spring.h2.console.enabled=true spring.h2.console.path=/h2 和我们在http://localhost:8080/h2/ 上拥有控制台 但是Javaee呢?我该如何访问它? 我的pom对H2有跟随的依赖性: com.h2database h2 1.4.196 runtime 和persistance.xml:
4 2023-12-04
编程技术问答社区
配置Liberty Profile以使用H2数据库
我有一个嵌入式的H2数据库运行,我一直在连接到这样: 浏览器H2接口 这完全根据需要工作.我正在使用JPA/EJB/JSF来建立将在Liberty配置文件上运行的耳朵.过去,我已经配置了Liberty配置文件可以使用几个不同的数据库,但是H2没有运气.我的server.xml看起来像这样: ejbLite-3.1 servlet-3.0 localConnector-1.0 managedBeans-1.0 cdi-1.0 jpa-2.0 jaxrs-1.1
4 2023-12-03
编程技术问答社区
在grails的H2数据库中导入CSV
这是一个问题的延续:带有CSV的Grails(无DB) 我有三个CSV文件作为我的后端(在共享驱动器中),它们一直由greenplum db(附加行)更新,我想在Grails的H2DB(默认值)中导入这些文件,然后使用这些文件文件. CSV文件的尺寸为3MB,30MB和60 MB,最后一个有550,000行. 这些CSV文件每小时更新新数据(附加行) 可以在此处由石英完成计划. 快速问题: 这是可行的吗? H2 db可以存储这么多数据吗?在部署应用程序时,战争文件会然后存储所有这些数据吗?用户不必安装任何其他DB,然后在部署此应用程序时? 其次,是否可以将这些文件存储在MongoDB中,该文件可以托管在一台计算机中,并且可以将数据源配置为仅从该计算机中获取数据? 基本上,当应用程序部署时,我不希望用户安装任何内容 (除了servlet容器之类的Apache之外,我猜它是强制性的,还是不是? 他们应该只使用战争文件并运行该应用程序.我在这里是正确的吗?
8 2023-11-30
编程技术问答社区
如何仅在数据库、架构和表不存在时自动创建它们
我想创建一个简单的WebApp 允许远程客户端在邮政请求上跟踪一些内容 坚持轻量级数据库中的所有跟踪 回馈Get请求的所有跟踪 关于数据库,我想要 将其位置放在我的WebApp的属性文件中(并在hibernate.location.url中使用此位置,请在persistence.xml中设置) 如果数据库创建的数据库,如果它们尚不存在,则它们是使用架构和表创建的 如果存在的现有数据库,架构和表格以及数据 所以我用以下方式创建了一个Maven项目: pom.xml
6 2023-11-29
编程技术问答社区
在INSERT新行时返回H2数据库默认生成的主键值,用于UUID类型的列
使用 uuid data 我在Java应用中使用Plain JDBC 4.x,如果有助于解决方案. 我知道 C1>对于在自动插入序列编号上标记为IDENTITY的列上生成的键.但是我使用的是UUID,而不是增加数字作为我的主要密钥列类型. 解决方案 Statement::getGeneratedKeys 如注释中所示, ycf_l 正确答案" https://docs.oracle.com/en/java/javase/11/docs/api/java.sql/java/java/sql/sql/statement.html#getgeneratedkeys()/a>.这产生了 .这与 ,并将自动生成的UUID值作为主要键. Statement.RETURN_GENERATED_KEYS catch是,默认情况下您要做而不是返回生成的密钥.您必须通过将额外参数传递给您的 Connection::prepareStatement call.额外的参数是int
10 2023-11-12
编程技术问答社区
如何在h2数据库中插入一个特定的UUID?
我需要在数据库中插入一些默认数据.我正在将弹簧靴与Flyway Integration一起使用.用于测试,我使用H2.用于生产MySQL. 我已经制作了单独的Flyway迁移脚本,因此我可以使用数据库特定的内容作为默认数据(创建表是在通用脚本中完成的). 对于mysql,我有类似的东西: INSERT INTO survey_definition (id, name, period) VALUES (0x2D1EBC5B7D2741979CF0E84451C5BBB1, 'disease-activity', 'P1M'); 我该如何为H2做同样的事情? 我只找到了有效的RANDOM_UUID()函数,但是我需要使用已知的uuid,因为我将其用作其他语句中的外键. 解决方案 最好如果使用适用于所有数据库的语法.我认为大多数数据库不支持0x语法.对于H2,这将有效: INSERT INTO survey_definition (id, name,
4 2023-11-12
编程技术问答社区
UUID之间没有连字符
灵感来自此处给出的建议 - 2 @generatedValue字段的错误,我的问题与此相反 - 如何在没有破折号的情况下生成UUID 我正在使用H2 dB,并在我的模型中使用: @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Long id; @Column(name = "useruuid") @GeneratedValue(generator = "uuid") @GenericGenerator(name = "uuid", strategy = "uuid4") private UUID userUUID; 在我的控制器中,它像这样: @PostConstruct private void postConstruct() { AppUser
8 2023-11-12
编程技术问答社区
在H2数据库引擎中的UUID类型的列上,默认为每一行生成UUID值
在 h2数据库上,在带有我知道如何 如何在H2数据库中插入特定的UUID? .. 我的问题是关于如何要求H2代表我产生UUID值. 解决方案 在SQL 中 您可以使用内置函数 RANDOM_UUID() : create table test(id int primary key, data uuid default random_uuid()); insert into test(id) values(1); select * from test; 请注意,使用UUID类型(或任何其他随机生成的数据没有任何自然顺序的数据),因为主键将导致性能问题,如果有数百万行(一般而言,关系数据库,不仅与H2"). 其他解决方案 在JPA/Hibernate 中 搜索了几个小时后,我为 jpa 或 hibernate ,根据@thomas Mueller. @Id @GeneratedValue(generator = "UUID") @GenericG
4 2023-11-12
编程技术问答社区
H2数据库Postgres模式UPSERT
当H2数据库处于Postgres模式时,我如何检查它是否支持以下语句(UPSERT/on Concance) INSERT INTO event_log_poller_state (aggregate_type, consumer_group_id, value) VALUES (?, ?, ?) on conflict (aggregate_type, consumer_group_id) " + " do update SET VALUE = ? WHERE event_log_poller_state.aggregate_type = ? AND event_log_poller_state.consumer_group_id = ? 我获得语法错误42000 我写了以下程序以演示 https://github.com/tonymurphy/h2-postgres 编辑2019年10月:结帐 http
8 2023-11-09
编程技术问答社区
内存数据库的Spring引导失败
我正在尝试使用嵌入式数据库H2测试我的Spring Boot应用程序.至于开发人员和产品,我将使用MySQL数据库. 我想为每种模式具有不同的应用程序. 项目结构是: src --main ----resources ------application.yml ------schema.sql --test ----resources ------application-test.yml ------schema-test.sql 这是我的呼吸测试: @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest @DataJpaTest public class IUserRepositoryTest { @Autowired private TestEntityManager entityManager; @Autowired private IUserRepository userRepository;
6 2023-11-07
编程技术问答社区
在单元测试时支持H2数据库中的DB2功能
我们在生产中有一个DB2数据库,我们正在为测试设置H2内存数据库.我知道,即使我们以DB2模式配置了H2,并非所有DB2函数都得到支持. 我们如何单位测试包含数据库特定函数但尚未支持H2中的SQL? 如果我们开始编写H2特定的DB服务,那么我们将结束编写不同的功能代码层. 功能不支持 varchar_format H2配置 JDBC:H2:mem:test; mode = db2 H2版本 1.4.188 java stacktrace Caused by: org.h2.jdbc.JdbcSQLException: Function "VARCHAR_FORMAT" not found; SQL statement: select S.SCHEDULE_ID scheduleId, VARCHAR_FORMAT(S.START_DATE, 'DD-Mon-YYYY') startDate from ScheduleSubscript
6 2023-11-07
编程技术问答社区