草庐IT

db_manager

全部标签

java - java.sql.SQLException :[Microsoft][ODBC Driver Manager] Invalid descriptor index 异常

我使用下面的代码try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:access");Stringsql="Select*fromtable";Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery(sql);ResultSetMetaDatamd=rs.getMetaData();intcolumns=md.getColumnCount();for(inti

java - 捕捉 Ctrl+C 信号抛出异常 "Job manager has been shut down"

我正在尝试添加对信号的支持(尤其是对于Ctrl+C)。我的工具是用Java编写的,我想在Ctrl+C被捕获时执行清理。我的主文件是应用程序,有以下和平代码:if(ArgDefinitions.getInstance().hasOption(ArgNames.EXECUTE)){performShutdownHooks();preformRun();}应用程序解析用户的选项并运行正确的方法。因此,当用户使用execute选项并单击Ctrl+C时,我希望程序停止并清理该区域。我添加了performShutdownHooks方法来处理信号,它看起来如下:privatevoidperformS

java - 关闭 derby 网络服务器不会删除 db.lck

我正在尝试使用默认端口从我的Java应用程序以网络服务器模式启动Derby。服务器启动成功。现在我尝试连接到服务器上名为“myDB”的数据库。建立连接并成功创建db.lck。然后,我进行了一些事务,优雅地提交并关闭了连接。我看到db.lck仍然存在。然后我关闭网络服务器。我希望在所有这些操作结束时删除db.lck文件。但它留下来了。(PS:操作系统是Windows)代码如下:1)启动服务器:System.setProperty("derby.system.home","C:\\SI\\testDerby");System.setProperty("derby.drda.traceDir

java - 京都内阁/伯克利 DB : Hash table size limitations

我很难在我的SSD上存储数亿个16/32字节的键/值对和哈希数组。WithKyotoCabinet:正常工作时,它以70000条记录/秒的速度插入。一旦下降,它就会下降到10-500条记录/秒。使用默认设置,丢弃发生在大约一百万条记录之后。查看文档,这是数组中桶的默认数量,所以这是有道理的。我将这个数字增加到2500万,事实上,在大约2500万条记录之前它工作正常。问题是,一旦我将桶的数量推到3000万或更多,插入率从一开始就下降到10-500条记录/秒。KyotoCabinet没有设计成在创建数据库后增加桶的数量,所以我不能插入超过2500万条记录。1/为什么一旦桶数超过25M,KC

java - 构建提升 : how do you manage dependencies?

我试图了解将我们的Java项目从Snaphot/Release策略切换到构建促销的所有影响。一个明显的步骤是,每个构建最终都会创建一个Artifactory,该Artifactory可能会一直进入生产环境,因此不再有快照。但是,我应该如何管理从一个项目到其他Artifactory的链接,这些Artifactory可能允许也可能不允许进入生产阶段?我很难找到关于这个特定主题的有值(value)的信息。当然,构建提升被谈论了很多,但是从迁移到构建提升的依赖管理却鲜为人知。我看到两个选择:只能依赖之前已经提升到生产环境的Artifactory当一个Artifactory依赖另一个Artifa

java - 通过JBDC获取在IBM DB2 V6R1 (AS400)上插入的行数

我们最近迁移到AS400上较新的V6R1版本的DB2,我们使用Spring框架(v.2.5.6.)与数据库通信。我们正在调用Spring的NamedParameterJdbcTemplate.update()方法来插入新行,这个方法应该返回插入行的数量,但没有发生什么(结果我们得到零返回)虽然行被定期插入.我们得出的结论是,如果insert语句中没有主键列,一切正常,所以PK列自增时没有问题,但在某些情况下我们必须插入PK值,然后我们必须以某种方式应对定期出现的情况插入的行未在JDBC或Spring中注册。有人可以帮忙吗? 最佳答案

java - 更改序列 H2DB 的数据类型

我需要更改存储到H2DB中的序列的返回值,当我通过直接SQL查询调用nextVal时,H2返回一个BigInt并且我需要一个BigDecimal。我无法转换或转换这个值,我需要H2返回一个BigDecimal。我该怎么做?编辑:我无法更改Java代码,因为我正在测试,因此无法转换或转换来自DB的请求值。 最佳答案 如果允许替换H2jar文件,您可以创建自己的H2补丁版本。在org.h2.expression.Function中更改addFunctionNotDeterministic("NEXTVAL",NEXTVAL,VAR_AR

java - 如何通过 BeanManager 创建和销毁 CDI (Weld) Managed Beans?

我正在尝试使用BeanManager而不是Instance.select().get()创建CDI托管bean的实例。这被建议作为解决我一直遇到的ApplicationScopedbean及其依赖项的垃圾收集问题的解决方法-请参阅CDIApplicationandDependentscopescanconspiretoimpactgarbagecollection?对于背景和这个建议的解决方法。如果您在ApplicationScopedbean上使用Instance编程查找方法,则Instance对象和您从中获得的任何bean最终都依赖于ApplicationScopedbean,因此

在Azure DB中创建时间表

我正在使用SSMS17,并正在尝试在SQLAzure中创建一个时间表,但由于某种原因,选项表->新->时间表被禁用。我创建了一个基本的Azure数据库,该数据库目前没有表。有人知道如何启用此功能还是我可能做错了什么?看答案您看到的ObjectExplorer中灰色的选项是SSM中的无意限制,这在AzureSQLDB的早期可能是正确的。这个问题已经在很长时前已经解决了,但是从来没有(也永远不会)移植回SSMS17.x。您可以安装最新的SSM18.X(目前SSMS18.2)并尝试一下吗?如果您仍然有问题,请在Uservoice上与我们联系(https://aka.ms/sqlfeedb

java - 持久层的命名约定 : DAO vs Manager vs . ..?

免责声明:我几乎可以肯定我以前见过同样的问题,但现在找不到了。如果有人发现该问题,请提供链接。关于实现CRUD操作的类的最佳名称,我至少听到了两种意见:有人说DAO是一个经典的名字,每个人都知道它的意思,但也有人说Manager更符合CRUD功能。我应该在什么时候选择一个或另一个(或另一个)名称时是否有任何明确的规则? 最佳答案 我绝对不喜欢经理;“管理”某事可能意味着(并且曾经意味着)各种各样的事情。如果您担心人们不知道DAO是什么意思,您可以将其拼写为“DataAccess”,例如。但我发现DAO得到了广泛的理解。另一种方法是使