{"id":35809741,"url":"https://github.com/hudeany/dbimport","last_synced_at":"2026-01-19T20:04:53.225Z","repository":{"id":45342942,"uuid":"52096416","full_name":"hudeany/dbimport","owner":"hudeany","description":"Java tool to import data in database from files","archived":false,"fork":false,"pushed_at":"2025-11-29T16:47:38.000Z","size":55393,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-30T20:16:36.794Z","etag":null,"topics":["csv","db","excel","json","kdbx","ods","vcf","xml"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hudeany.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-02-19T15:22:57.000Z","updated_at":"2025-11-29T16:46:18.000Z","dependencies_parsed_at":"2023-10-03T23:52:58.237Z","dependency_job_id":"45f168a0-6684-4fa3-a976-84aa1d6b4a40","html_url":"https://github.com/hudeany/dbimport","commit_stats":null,"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"purl":"pkg:github/hudeany/dbimport","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudeany%2Fdbimport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudeany%2Fdbimport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudeany%2Fdbimport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudeany%2Fdbimport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hudeany","download_url":"https://codeload.github.com/hudeany/dbimport/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudeany%2Fdbimport/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28583644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T19:46:29.903Z","status":"ssl_error","status_checked_at":"2026-01-19T19:45:54.560Z","response_time":67,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","db","excel","json","kdbx","ods","vcf","xml"],"created_at":"2026-01-07T14:15:59.751Z","updated_at":"2026-01-19T20:04:53.219Z","avatar_url":"https://github.com/hudeany.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java tool to import data in database from files\n\n## Supported file formats and datatypes:\n- CSV (Comma-Separated-Values, .csv)\n- JSON (.json)\n- XML (.xml)\n- vCards (.vcf)\n- Excel old (\u003c= 2003) (.xls)\n- Excel new (2007+) (.xlsx)\n- OpenDocumentSheet (.ods)\n- KeePass (.kdbx)\n\n## Supported file compressions:\n- Uncompressed\n- Zip (.zip, optionally with password using aes or zipcrypto)\n- Tar (.tar)\n- TarGz (.tar.gz)\n- GZip (.gz)\n\n## Supported database vendors:\n- MySQL\n- MariaDB\n- Oracle (use SID, servicename or TNS description)\n- PostgreSQL\n- Firebird\n- Sqlite\n- Derby\n- Hsql\n- Cassandra\n- MsSQL\n\n## Commandline usage\n\tUsage: java -jar DbImport.jar [optional parameters] dbtype hostname[:port] dbname, username -table tablename -import importfilepathOrData [password]\n\n## Mandatory parameters for database import\n    dbtype: mysql | mariadb | oracle | postgresql | firebird | sqlite | derby | hsql | cassandra\n    hostname: With optional port (Not needed for sqlite and derby)\n    dbname: Dbname or filepath for sqlite database or derby db\n    username: Username (Not needed for sqlite and derby)\n    password: Is asked interactivly, if not given as parameter (Not needed for sqlite and derby)\n    \n    -table tablename: Table to import to (* for name by filename)\n    -import importfilepathOrData: File to import (?, * as wildcards, automapping only), maybe zipped (.zip, .tar.gz, .tgz, .gz)\n                                or data as text (See optional parameter '-data')\n\n## Optional parameters for database import\n\t-data: Declare importfilepathOrData explicitly as inline data (No filepath)\n\t-x importDataFormat: Data import format, default format is detected by file extension or, if it cannot be detected, default is CSV\n\t\timportDataFormat: CSV | JSON | XML | SQL | EXCEL | ODS | VCF | KDBX\n\t-dp \u003cdatapath\u003e: Optional datapath within the XML-Data (XPath), JSON-Data or EXCEL/ODS-Data (Sheetname)\n\t-sp \u003cschemaFilePath\u003e: Optional path to schema file for XML (XSD) or JSON\n\t-m: Column mappings (Separated by semicolon or linebreak): When not configured a simple mapping by column names is used (Automapping)\n\t\tMapping entry format: dbcolumnname=\"data column name\" \u003cformatinfo\u003e\n\t\t\u003cformatinfo\u003e may be decimal delimiter (Default .), date pattern (Default dd.MM.yyyy HH:mm:ss) or file or lc (Lowercase) or uc (Uppercase) or email\n\t\tExample: 'db1=\"def 1\" ,;db2=\"def 2\" .;db3=\"def 3\" dd.MM.yyyy HH:mm:ss;db4=\"def 4\" file'\n\t-mf: Column mapping file, containing the mapping entries of -m\n\t-n 'NULL': Set a string for null values (Only for csv and xml, default is '')\n\t-l: Log import information in .log files\n\t-v: Progress and e.t.a. import in terminal\n\t-e: Encoding for CSV and JSON data files and clob files (Default UTF-8)\n\t-s: Separator character, default ';', encapsulate by ' (for CSV)\n\t-q: String quote character, default '\"', encapsulate by ', 'null' or 'none' for empty (for CSV)\n\t-qe: String quote escape character, default '\"', encapsulate by ' (for CSV)\n\t-noheaders: First csv line is data and not headers\n\t-c: Complete commit only (Takes more time and makes rollback on any error)\n\t-nonewindex: Do not create new indexes on destination table, even if they are helpful (By default new indexes are created, which saves time)\n\t-deactivatefk: Deactivate foreign key constraints during import\n\t-deactivatetriggers: Deactivate triggers during import\n\t-a: Allow underfilled lines (for CSV)\n\t-r: Allow lines with surplus empty trailing columns (for CSV)\n\t-t: Trim data values\n\t-i 'importmode':\n\t\tCLEARINSERT: Deletes all existing data before insert. If key columns are set, duplicates are prevented\n\t\tINSERT: (Default) Inserts all data. If key columns are set, inserts only not already existing data\n\t\tUPDATE: Updates only exiting data, needs key columns\n\t\tUPSERT: Updates and inserts, needs key columns\n\t-d 'duplicatemode':\n\t\tNO_CHECK: No duplicate check. Only insert\n\t\tCKECK_SOURCE_ONLY_DROP: Check duplicates in import data only. Drop duplicates\n\t\tCKECK_SOURCE_ONLY_JOIN: Check duplicates in import data only. Join duplicates\n\t\tUPDATE_FIRST_DROP: Check duplicates in import data and database data. Only update the first occurrence in db. Drop duplicates\n\t\tUPDATE_FIRST_JOIN: Check duplicates in import data and database data. Only update the first occurrence in db. Join duplicates\n\t\tUPDATE_ALL_DROP: Check duplicates in import data and database data. Update all occurrences in db. Drop duplicates\n\t\tUPDATE_ALL_JOIN: (Default) Check duplicates in import data and database data. Update all occurrences in db. Join duplicates\n\t\tMAKE_UNIQUE_DROP: Check duplicates in import data and database data. Remove duplicate occurrences in db. Drop duplicates\n\t\tMAKE_UNIQUE_JOIN: Check duplicates in import data and database data. Remove duplicate occurrences in db. Join duplicates\n\t-u: Don't update with null values from import data\n\t-k 'keycolumnslist': Keycolumns list comma separated\n\t-insvalues 'valuelist': Value list semicolon separated: Sometimes values not included in the data file are needed for inserts. E.g.: id=test_seq.NEXTVAL;flag='abc'\n\t-updvalues 'valuelist': Value list semicolon separated: Sometimes values not included in the data file are needed for updates. E.g.: create=current_timestamp;flag='abc'\n\t-create: Scan data and create suitable table, if not exists. Also creates sqlite, derby and hsql database if needed\n\t-structure \u003cstructureFilePath\u003e: Optional path to database structure JSON file to be used with \"-create\" parameter\n\t-logerrors: Log error data items in file\n\t-zippassword '\u003czippassword\u003e' (Only for .zip files)\n\t-kdbxpassword '\u003ckdbxpassword\u003e' (Only for .kdbx files)\n\t-dbtz '\u003cdatabaseTimeZone\u003e' (Default is systems default timezone, e.g. Europe/Berlin or Europe/Dublin)\n\t-idtz '\u003cimportDataTimeZone\u003e' (Default is systems default timezone, e.g. Europe/Berlin or Europe/Dublin)\n\t-dateFormat: set fallback date format, especially for multiple file imports, can be overridden by mapping formats, use Java format characters (YMdhmsS) \n\t-dateTimeFormat: set fallback date time format, especially for multiple file imports, can be overridden by mapping formats, use Java format characters (YMdhmsS)\n\t-secure: Use TLS/SSL for secure communication with database\n\t-truststore '\u003ctruststorefilepath\u003e': Filepath to TrustStore in JKS format for encrypted database connections of some database vendors\n\t-truststorepassword '\u003cpassword\u003e': Optional password for TrustStore\n\n## Global standalone parameters\n    help: Show this help manual\n    gui: Open a GUI\n    menu: Open a Console menu\n    version: Show current local version of this tool\n    update: Check for online update and ask, whether an available update shell be installed. [username [password]]\n\n## Blob import:\n    Usage: java -jar DbImport.jar importblob dbtype hostname[:port] dbname username -updatesql sqlUpdateStatementWithPlaceholder -blobfile filePath [password]\n    \n    -updatesql sqlUpdateStatementWithPlaceholder: Import a single file as BLOB into a DB. (Placeholder for filedata is '?' like in prepared statements)\n    -blobfile filePath: Import blob file path\n    password: Is asked interactivly, if not given as parameter (Not needed for sqlite, hsql or derby)\n\n## Connection test:\n    Usage: java -jar DbImport.jar connectiontest dbtype hostname[:port] dbname username [-iter n] [-sleep n] [-check checksql] [password]\n    \n    -iter n: Iterations to execute. Default = 1, 0 = unlimited\n    -sleep n: Sleep for n seconds after each check. Default = 1\n    -check checksql: SQL statement to check or the keyword \"vendor\" for the vendors default check statement\n    password: Is asked interactivly, if not given as parameter (Not needed for sqlite, hsql or derby)\n\n## Create TrustStore:\n    Usage: java -jar DbImport.jar createtruststore hostname:port truststorefilePath [truststorepassword]\n    \n    truststorefilePath: Filepath to create the TrustStore file in \n    truststorepassword: Optional password for the created TrustStore (JKS, JavaKeyStore)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhudeany%2Fdbimport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhudeany%2Fdbimport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhudeany%2Fdbimport/lists"}