Tag: 数据库

在Microsoft sql server中连接/附加不同的表

Hai我在MS SQL SERVER的数据库中有3个不同的表。 LAB_patientreg patient_master patient_address 该LAB_patientreg和patient_master是包含患者详细信息的两个表(两个表中的患者不同, LAB_patientreg是关于直接在实验室注册的患者的表,而患者_master是关于在患者或患者在接待处登记到医院的患者 )和patient_address是包含在表patient_master中登记的患者的地址的表。 在某些情况下,我需要所有患者的数据,包括LAB_patientreg和patient_master以及patient_address 。 我的目的是创建一个视图,其中包含此表中的所有值(即,如果patient_master有50行, LAB_patientreg有32行,结果视图应该是82行),并且列的数量和类型仅限于LAB_patientreg的数量和类型但它不起作用,是否有可能像我说的那样创建一个视图? 如果不是我该怎么做才能获得这样的观点? 在此先感谢帮助我。 表的结构如下, patient_master CREATE TABLE [dbo].[patient_master]( [pid] [int] IDENTITY(1,1) NOT NULL, [date_created] [date] NULL, [title] [varchar](25) NULL, [fname] [varchar](255) NULL, [mname] [varchar](255) NULL, [lname] [varchar](255) NULL, [addr_id] [int] NULL, [sex] [char](1) NULL, [dob] [date] NULL, [dobType] [tinyint] NULL, [marital_status] [int] NULL, […]

数据库连接和OutOfMemoryError:Java堆空间

去年夏天,我创建了一个Java应用程序,它可以解析一些PDF文件并获取它们包含的信息,以便将它们存储在SQLite数据库中。 一切都很好,我每周都会不断添加新文件到数据库,没有任何问题。 现在,我正在努力提高我的应用程序的速度,我想看看如果我解析过去两年在新数据库中拥有的所有文件,它会如何。 那是我开始收到此错误的时候: OutOfMemoryError:Java堆空间 。 我以前没有得到它,因为我每周只解析大约25个新文件,但似乎一个接一个地解析1000多个文件要求更高。 我部分地解决了这个问题:我确保在每次调用数据库后关闭我的连接并且错误消失了,但代价很高。 解析文件现在难以忍受。 至于我的ResultSet和Statements / PreparedStatements,我已经在每次通话后关闭它们。 我想当我应该关闭我的连接以及何时应该继续使用相同的连接时,我有些不明白的事情。 我认为自从自动提交打开后,它会在每个事务(选择,更新,插入等)之后提交,并且连接会释放它正在使用的额外内存。 我可能错了,因为当我解析太多文件时,我最终得到了我提到的错误。 一个简单的解决方案是在每次x调用后关闭它,但是我再也不会理解为什么,我可能会在以后遇到相同的错误。 任何人都可以解释我什么时候应该关闭我的联系(如果完成的话除外) 如果我只是在我完成时应该这样做,那么有人可以解释我应该如何避免这个错误吗? 顺便说一下,我没有把它标记为SQLite,因为当我尝试在我的在线MySQL数据库上运行我的程序时遇到了同样的错误。 编辑正如Deco和Mavrav所指出的那样,问题可能不是我的连接。 也许这是文件,所以我将发布用于调用函数的代码逐个解析文件: public static void visitAllDirsAndFiles(File dir){ if (dir.isDirectory()){ String[] children = dir.list(); for (int i = 0; i < children.length; i++){ visitAllDirsAndFiles(new File(dir, children[i])); } } else{ try{ // System.out.println("File: " + dir); BowlingFilesReader.readFile(dir, playersDatabase); […]

Apache Jackrabbit和Spring中的交易

我想在使用Apache Jackrabbit存储库的Spring webapp上运行事务。 然后,JackRabbit使用关系数据库(MySQL / PgSQL)来处理文本数据。 二进制数据存储到FileSystem。 到目前为止,我有这个Jackrabbit bean的function配置: 还有其他的jackrabbit配置在repository.xml文件中。 如何在JackRabbit存储库上成功运行事务我该怎么办? 我应该使用哪种技术? 我在Tomcat / Glassfish上运行Spring 3.1,Jackrabbit 2.3.3。 而且我不想使用过时的弹簧模块。

我应该在哪里保存JDBC连接详细信息?

我有一个带有数据库连接的Java Swing程序。 到目前为止,我的要求是硬编码连接细节,如下所示。 public void makeConnection() { try { Class.forName(“com.mysql.jdbc.Driver”); con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbName”,”root”,””); //System.out.println(“Connection Established”); } catch(Exception e) { e.printStackTrace(); } } 然而,客户端的IT人员试图通过VPN与数据库建立连接,系统拒绝连接,很可能是因为硬编码连接。 现在,我正在寻找以客户端可以编辑的方式存储连接数据的方法。 这意味着,像大多数一般程序一样,客户端决定数据库密码,端口等。他可能需要它bcs涉及VPN。 因此,我计划为客户端创建一个小对话框,以输入数据库密码,用户和服务器位置。 保存这些数据后,程序将读取它们并相应地建立连接。 但问题是,我在哪里保存这些? 我知道我可以将它们保存在文本文件中,但它是一种非安全的方法,任何人都可以读取它。 某种硬编码不是一种选择,因为客户端应该能够编辑他的密码等。 任何建议?

许多类引用数据库连接类的最佳方法

我很快将开始我的课程开发阶段,目前的设计是有一个处理数据库连接的类和许多调用它的类; 数据库类应该打开连接并盲目地传递查询,其他类负责这些查询的内容。 我想知道的是这些参考知道数据库类的最佳方法是什么? 我的直觉是使Database类中的方法静态并将它们称为Database.method()但是有更好的方法吗? PS为此引用了正确的词? 如果不是什么是正确的词,那么下次我有类似的问题会有所帮助。

从现有数据库生成JDO对象

是否有从现有数据库生成JDO对象的工具? 我更喜欢一个看起来很棒的Eclipse插件,我可以使用它来生成和维护对象,但似乎这个目前还不存在。 是否有其他简单的工具来生成数据库对象?

Oracle数据库:DBMS_ALERT与java应用程序的使用

我有一个Java应用程序服务器使用JDBC与oracle 11.2数据库服务器通信。 客户端的请求被发送到应用程序服务器,该服务器运行调用数据库中第一个存储过程的java方法。 我希望java方法在调用存储过程之后等待来自数据库的信号(该信号表明某些结果已准备好从数据库中检索)。 为了避免轮询数据库,可以使用DBMS_ALERT来通知java方法(或方法,因为多个实例可能正在运行,每个唯一用户一个实例),结果已准备好检索,在这种情况下,java方法可以继续执行其余的代码? 有人可以提供在这种情况下使用DBMS_ALERT的简单示例吗? 也就是说,如何在数据库中配置它以便当表中的预定字段改变时(例如,到预定值,例如“完成”)发送警报,以及如何配置java方法使得它可以接收警报消息(包括如何处理此消息以检查其内容,例如if (received_message == ‘done’)等)?

Firebird vs Java的HSQLDB

我想在java中写一个小的(5-6桌)桌面应用程序。我想使用Firebird 2.1。 数据库。但我用Google搜索并看到HSQLDB。我想在firebird和hsqldb之间做出决定:) 那么我必须使用哪个数据库?

图数据库(neo4j)与关系数据库。 需要设计方面的帮助

我必须使用开源项目( biojava ),但我对某些性能不满意,并且我想花一些时间来改进它。 例如,我有一个以这种方式编码的文本数据库: chrX Cufflinks exon 65175856 65175971 . . . gene_id “XLOC_002576”; transcript_id “TCONS_00004217”; exon_number “1”; gene_name “RP6-159A1.2”; oId “CUFF.3698.1”; nearest_ref “ENST00000456392”; class_code “p”; tss_id “TSS3873”; chrX Cufflinks exon 128986006 128986088 . . . gene_id “XLOC_002577”; transcript_id “TCONS_00004218”; exon_number “1”; oId “CUFF.3750.1”; class_code “u”; tss_id “TSS3874”; 并非每个字段都是必需的,每个gene_id可以与多个transcript_id (1..n)相关联,并且每个transcript_id具有1个或更多个exon 。 库行为是将整个文本文件加载到ArrayList ,对于每个搜索,必须迭代列表。 这适用于小型列表,但在我的情况下,我有10 ^ […]

如何在mybatis-spring中使用@Transactional注释?

我尝试在spring使用@Transactional注释,使用mybatis-spring依赖使用mybatis-spring 。 这是服务层。 @Service public class OracleService { @Autowired private TestMapper mapper; @Autowired private PlatformTransactionManager transactionManager; @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, value = “transactionManager”) void insert1() { TestModel testModel = new TestModel(1, “title1”, “content1”); mapper.insert(testModel); throw new RuntimeException(); } } 如您所见,在insert1()抛出了RuntimeException ,因此插入操作应该失败。 但事实上,它没有。 记录已成功插入。 为什么? 这是我的主要方法。 public class Launcher { public static void main(String[] […]