com.healthmarketscience.jackcess.Database类的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(8.1k)|赞(0)|评价(0)|浏览(543)

本文整理了Java中com.healthmarketscience.jackcess.Database类的一些代码示例,展示了Database类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Database类的具体详情如下:
包路径:com.healthmarketscience.jackcess.Database
类名称:Database

Database介绍

[英]An Access database instance. A new instance can be instantiated by opening an existing database file ( DatabaseBuilder#open(File)) or creating a new database file ( DatabaseBuilder#create(Database.FileFormat,File)) (for more advanced opening/creating use DatabaseBuilder). Once a Database has been opened, you can interact with the data via the relevant Table. When a Database instance is no longer useful, it should always be closed ( #close) to avoid corruption.

Database instances (and all the related objects) are not thread-safe. However, separate Database instances (and their respective objects) can be used by separate threads without a problem.

Database instances do not implement any "transactional" support, and therefore concurrent editing of the same database file by multiple Database instances (or with outside programs such as MS Access) will generally result in database file corruption.
[中]Access数据库实例。可以通过打开现有数据库文件(DatabaseBuilder#打开(文件))或创建新数据库文件(DatabaseBuilder#创建(database.FileFormat,file))(对于更高级的打开/创建,请使用DatabaseBuilder)来实例化新实例。打开数据库后,可以通过相关表与数据交互。当数据库实例不再有用时,应始终将其关闭(#close)以避免损坏。
数据库实例(以及所有相关对象)不是线程安全的。但是,单独的线程可以使用单独的数据库实例(及其各自的对象),而不会出现问题。
数据库实例不实现任何“事务性”支持,因此多个数据库实例(或使用MS Access等外部程序)并发编辑同一数据库文件通常会导致数据库文件损坏。

代码示例

代码示例来源:origin: pentaho/pentaho-kettle

  1. data.table = data.db.getTable( realTablename );
  2. if ( data.table == null ) {
  3. if ( meta.isTableCreated() ) {

代码示例来源:origin: pentaho/pentaho-kettle

  1. Database.create( targetDbFile );
  2. logBasic( BaseMessages.getString( PKG, "JobEntryMSAccessBulkLoad.Log.DbCreated", targetFilename ) );
  3. } else {
  4. Database db = Database.open( targetDbFile );
  5. logBasic( BaseMessages.getString( PKG, "JobEntryMSAccessBulkLoad.Log.DbOpened", targetFilename ) );
  6. if ( db.getTable( tablename ) != null ) {
  7. logBasic( BaseMessages.getString( PKG, "JobEntryMSAccessBulkLoad.Log.TableExists", tablename ) );
  8. db.close();
  9. Database.open( targetDbFile ).importFile( tablename, sourceDataFile, delimiter );

代码示例来源:origin: pentaho/pentaho-kettle

  1. Database.open( new File( AccessInputMeta.getFilename( fileInputList.getFile( 0 ) ) ), true );
  2. Set<String> settables = accessDatabase.getTableNames();
  3. settables.addAll( accessDatabase.getSystemTableNames() );
  4. accessDatabase.close();

代码示例来源:origin: pentaho/pentaho-kettle

  1. void createTable( String tableName, RowMetaInterface rowMeta ) throws IOException {
  2. List<Column> columns = AccessOutputMeta.getColumns( rowMeta );
  3. db.createTable( tableName, columns );
  4. table = db.getTable( tableName );
  5. }

代码示例来源:origin: pentaho/pentaho-kettle

  1. db = Database.open( file );
  2. String realTablename = space.environmentSubstitute( tablename );
  3. Table table = db.getTable( realTablename );
  4. if ( table == null ) {
  5. throw new KettleException( BaseMessages.getString(
  6. try {
  7. if ( db != null ) {
  8. db.close();

代码示例来源:origin: net.sf.ucanaccess/ucanaccess

  1. private void createAutoFKs() throws SQLException, IOException {
  2. for (String tn : dbIO.getTableNames()) {
  3. if (!this.unresolvedTables.contains(tn)) {
  4. try {
  5. this.loadTableFKs(tn, true);
  6. } catch (SQLException e) {
  7. UcanaccessTable t = new UcanaccessTable(dbIO.getTable(tn), tn);
  8. makeTableReadOnly(t, false);
  9. }
  10. conn.commit();
  11. }
  12. }
  13. }

代码示例来源:origin: pentaho/pentaho-kettle

  1. void closeDatabase() throws IOException {
  2. db.close();
  3. }

代码示例来源:origin: AccelerationNet/access2csv

  1. static void schema(File inputFile) throws IOException{
  2. Database db = DatabaseBuilder.open(inputFile);
  3. try{
  4. for(String tableName : db.getTableNames()){
  5. Table table = db.getTable(tableName);
  6. System.out.println(String.format("CREATE TABLE %s (", tableName));
  7. for(Column col : table.getColumns()){
  8. System.out.println(String.format(" %s %s,",
  9. col.getName(), col.getType()));
  10. }
  11. System.out.println(")");
  12. }
  13. }finally{
  14. db.close();
  15. }
  16. }

代码示例来源:origin: pentaho/pentaho-kettle

  1. Database d = Database.open( new File( AccessInputMeta.getFilename( inputList.getFile( 0 ) ) ), true );
  2. String realTableName = transMeta.environmentSubstitute( meta.getTableName() );
  3. t = d.getSystemTable( realTableName );
  4. } else {
  5. t = d.getTable( realTableName );

代码示例来源:origin: apache/tika

  1. public void parse(Database db, XHTMLContentHandler xhtml) throws IOException, SAXException, TikaException {
  2. String pw = db.getDatabasePassword();
  3. if (pw != null) {
  4. parentMetadata.set(JackcessParser.MDB_PW, pw);
  5. PropertyMap dbp = db.getDatabaseProperties();
  6. for (PropertyMap.Property p : dbp) {
  7. parentMetadata.add(JackcessParser.MDB_PROPERTY_PREFIX + p.getName(),
  8. PropertyMap up = db.getUserDefinedProperties();
  9. for (PropertyMap.Property p : up) {
  10. parentMetadata.add(JackcessParser.USER_DEFINED_PROPERTY_PREFIX+ p.getName(),
  11. PropertyMap summaryProperties = db.getSummaryProperties();
  12. if (summaryProperties != null) {
  13. for (PropertyMap.Property p : db.getSummaryProperties()) {
  14. if (! found.contains(p.getName())) {
  15. parentMetadata.add(JackcessParser.SUMMARY_PROPERTY_PREFIX + p.getName(),
  16. Iterator<Table> it = db.newIterable().
  17. setIncludeLinkedTables(false).
  18. setIncludeSystemTables(false).iterator();
  19. for (Query q : db.getQueries()) {
  20. xhtml.startElement("div", "type", "sqlQuery");
  21. String sqlString = "unsupported query type";

代码示例来源:origin: ujmp/universal-java-matrix-package

  1. public static final JackcessDenseObjectMatrix2D toFile(File file, Object... parameters)
  2. throws IOException {
  3. Database db = DatabaseBuilder.open(file);
  4. Set<String> tables = db.getTableNames();
  5. String tablename = null;
  6. if (parameters.length != 0) {
  7. tablename = StringUtil.convert(parameters[0]);
  8. }
  9. if (tablename == null) {
  10. if (tables.size() == 1) {
  11. tablename = db.getTableNames().iterator().next();
  12. }
  13. }
  14. db.close();
  15. if (tablename == null) {
  16. throw new IllegalArgumentException(
  17. "please append the table name, i.e. one of these tables: " + tables);
  18. }
  19. return new JackcessDenseObjectMatrix2D(file, tablename);
  20. }

代码示例来源:origin: petterobam/database-oop

  1. return db.getTable(tableName) != null;
  2. } catch (IOException e) {
  3. e.printStackTrace();
  4. if (null != db) {
  5. try {
  6. db.close();
  7. } catch (IOException e) {
  8. e.printStackTrace();

代码示例来源:origin: pentaho/pentaho-kettle

  1. database = Database.open( file );
  2. Set<String> set = database.getTableNames();
  3. String[] tablenames = set.toArray( new String[set.size()] );
  4. EnterSelectionDialog dialog =
  5. database.close();

代码示例来源:origin: net.sf.ucanaccess/ucanaccess

  1. String tn = this.escape4Access(newTableName);
  2. String ntn = escape4Hsqldb(newTableName);
  3. Table t = db.getTable(oldTableName);
  4. r.put("Name", tn);
  5. catc.updateCurrentRowFromMap(r);
  6. Table srs = db.getSystemTable("MSysRelationships");
  7. Cursor srsc = srs.getDefaultCursor();

代码示例来源:origin: apache/tika

  1. .setReadOnly(true).open();
  2. db.setLinkResolver(IGNORE_LINK_RESOLVER);//just in case
  3. JackcessExtractor ex = new JackcessExtractor(metadata, context, locale);
  4. ex.parse(db, xhtml);
  5. if (db != null) {
  6. try {
  7. db.close();
  8. } catch (IOException e) {

代码示例来源:origin: net.sf.ucanaccess/ucanaccess

  1. private void createIndexesUK() throws SQLException, IOException {
  2. for (String tn : dbIO.getTableNames()) {
  3. if (!this.unresolvedTables.contains(tn)) {
  4. this.loadTableIndexesUK(tn);
  5. conn.commit();
  6. }
  7. }
  8. }

代码示例来源:origin: net.sf.ucanaccess/ucanaccess

  1. public void reloadDbIO() throws IOException {
  2. this.dbIO.flush();
  3. this.dbIO.close();
  4. for (OnReloadReferenceListener listener : onReloadListeners) {
  5. listener.onReload();
  6. }
  7. this.dbIO = open(dbFile, this.pwd);
  8. }

代码示例来源:origin: net.sf.ucanaccess/ucanaccess

  1. public void insertRow(Table _table, Object[] _row) throws IOException {
  2. try {
  3. _table.addRow(newRow);
  4. } catch (ConstraintViolationException e) {
  5. List<? extends Column> lc = _table.getColumns();
  6. boolean retry = false;
  7. for (Column cl : lc) {
  8. if (cl.isAutoNumber()) {
  9. retry = true;
  10. break;
  11. }
  12. }
  13. if (!retry) {
  14. throw e;
  15. }
  16. Database db = _table.getDatabase();
  17. File fl = db.getFile();
  18. DBReferenceSingleton dbsin = DBReferenceSingleton.getInstance();
  19. DBReference ref = dbsin.getReference(fl);
  20. ref.reloadDbIO();
  21. this.dbIO = ref.getDbIO();
  22. _table = this.dbIO.getTable(this.tableName);
  23. _table.addRow(newRow);
  24. }
  25. }

代码示例来源:origin: net.sf.ucanaccess/ucanaccess

  1. AutoNumberAction ana = null;
  2. if (table == null) {
  3. table = this.dbIO.getTable(this.tableName);
  4. int j = 0;
  5. List<? extends Column> lc = table.getColumns();
  6. if (table.getDatabase().getColumnOrder().equals(ColumnOrder.DISPLAY)) {
  7. Object[] newRowReorded = new Object[newRow.length];
  8. Column[] cllReorded = new Column[newRow.length];

代码示例来源:origin: net.sf.ucanaccess/ucanaccess

  1. private static boolean hasPassword(File fl) throws IOException {
  2. Database db;
  3. try {
  4. db = DatabaseBuilder.open(fl);
  5. } catch (IOException e) {
  6. DatabaseBuilder dbb = new DatabaseBuilder();
  7. dbb.setReadOnly(true);
  8. dbb.setFile(fl);
  9. db = dbb.open();
  10. }
  11. String pwd = db.getDatabasePassword();
  12. db.close();
  13. return pwd != null;
  14. }

相关文章