{"id":37023112,"url":"https://github.com/spannm/ucanaccess","last_synced_at":"2026-01-14T02:46:11.494Z","repository":{"id":193345194,"uuid":"687433727","full_name":"spannm/ucanaccess","owner":"spannm","description":"Open-source pure Java JDBC driver for Microsoft Access databases. Allows Java developers and client programs (e.g. OpenOffice, LibreOffice, SQuirreL) to read and write various versions of Access databases.","archived":false,"fork":false,"pushed_at":"2025-12-31T14:03:10.000Z","size":6791,"stargazers_count":61,"open_issues_count":1,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-01-03T08:24:49.127Z","etag":null,"topics":["access","driver","jdbc","microsoft","msaccess","purejava","sql"],"latest_commit_sha":null,"homepage":"https://spannm.github.io/ucanaccess/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spannm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2023-09-05T10:57:17.000Z","updated_at":"2025-12-31T14:03:14.000Z","dependencies_parsed_at":"2023-11-21T16:29:02.941Z","dependency_job_id":"d791606b-3a93-4011-9d5f-3c1e4440dd57","html_url":"https://github.com/spannm/ucanaccess","commit_stats":null,"previous_names":["spannm/ucanaccess"],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/spannm/ucanaccess","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spannm%2Fucanaccess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spannm%2Fucanaccess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spannm%2Fucanaccess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spannm%2Fucanaccess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spannm","download_url":"https://codeload.github.com/spannm/ucanaccess/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spannm%2Fucanaccess/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["access","driver","jdbc","microsoft","msaccess","purejava","sql"],"created_at":"2026-01-14T02:46:11.004Z","updated_at":"2026-01-14T02:46:11.482Z","avatar_url":"https://github.com/spannm.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv style=\"text-align: center;\"\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://central.sonatype.com/artifact/io.github.spannm/ucanaccess\"\u003e\n      \u003cimg src=\"https://img.shields.io/maven-central/v/io.github.spannm/ucanaccess?label=Maven%20Central\" alt=\"Maven Central Version\"\u003e\n    \u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/maven-central/last-update/io.github.spannm/ucanaccess?label=Last%20Update\" alt=\"Maven Central Last Update\"\u003e\n    \u003ca href=\"https://github.com/spannm/ucanaccess/actions/workflows/ci_jdk11_ubuntu.yml\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/spannm/ucanaccess/ci_jdk11_ubuntu.yml?label=Build%20(JDK%2011%20Linux)\" alt=\"GitHub Actions Workflow Status\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/spannm/ucanaccess/actions/workflows/ci_jdk11_win.yml\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/spannm/ucanaccess/ci_jdk11_win.yml?label=Build%20(JDK%2011%20Win)\" alt=\"GitHub Actions Workflow Status\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/spannm/ucanaccess/stargazers\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/stars/spannm/ucanaccess?logoColor=%233a82c2\" alt=\"GitHub Repo stars\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003ch1\u003eUCanAccess\u003c/h1\u003e\n  \u003ch3\u003eThe modern bridge between Java and Microsoft Access\u003c/h3\u003e\n\n\u003c/div\u003e\n\n**UCanAccess** is a high-performance, open-source Java JDBC driver that gives you seamless access to Microsoft Access databases (`.mdb` and `.accdb`) without needing any native Windows libraries (R-I-P `OdbcJdbcBridge` 🪦).\n\nWhether you are building a modern Spring Boot application or using classic tools like LibreOffice or SQuirreL SQL, UCanAccess provides a reliable, pure-Java way to read and write your data.\n\n\u003cdiv align=\"center\"\u003e ──────────────────── \u003c/div\u003e\n\n## ✨ Key Features\n\n* **Pure Java Power**: Zero native dependencies. Runs anywhere Java 11+ is supported.\n\n* **Drop-in Replacement**: Fully compatible with previous UCanAccess versions.\n\n* **Modern Core**: Built on top of the latest **Jackcess 5.1.2** and **HSQLDB 2.7.4** for maximum stability and security.\n\n* **Comprehensive SQL Support**: Supports SELECT, INSERT, UPDATE, DELETE, and even complex DDL operations like `ALTER TABLE`.\n\n* **Access-like Logic**: Includes built-in Access functions (like `IIf`, `Nz`, and financial functions like `PMT` or `PV`).\n\n* **Security Conscious**: Regularly updated to be free of known CVEs.\n\n\u003cp style=\"height: 20px;\"\u003e\u0026nbsp;\u003c/p\u003e\n\n## 🛠 Tech Stack \u0026 Requirements\n\n* **Java Version**: 11 or higher (LTS versions like Java 17 and 21 are fully supported and tested).\n\n* **Build Tool**: [Maven](https://maven.apache.org/)\n\n* **Main Dependencies**:\n\n  * [Jackcess](https://github.com/spannm/jackcess/)\n\n  * [HyperSQL Database (HSQLDB)](http://hsqldb.org/)\n\n\u003cp style=\"height: 20px;\"\u003e\u0026nbsp;\u003c/p\u003e\n\n## 📦 Installation\n\nTo use UCanAccess in your project, add the following dependency.\n\n### Maven (`pom.xml`)\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.spannm\u003c/groupId\u003e\n    \u003cartifactId\u003eucanaccess\u003c/artifactId\u003e\n    \u003cversion\u003e5.1.5\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle (Groovy / `build.gradle`)\n\n```groovy\nimplementation 'io.github.spannm:ucanaccess:5.1.5'\n```\n\n### Gradle (Kotlin DSL / `build.gradle.kts`)\n\n```kotlin\nimplementation(\"io.github.spannm:ucanaccess:5.1.5\")\n```\n\n\u003cp style=\"height: 20px;\"\u003e\u0026nbsp;\u003c/p\u003e\n\n## 🚦 Quick Start\n\nConnecting to your database is as simple as:\n\n```java\nimport java.sql.Connection;\nimport java.sql.DriverManager;\n\nString url = \"jdbc:ucanaccess://C:/path/to/your/database.accdb\";\ntry (Connection conn = DriverManager.getConnection(url)) {\n    // your code here\n}\n```\n\n\u003cp style=\"height: 20px;\"\u003e\u0026nbsp;\u003c/p\u003e\n\n## ❤️ Why this Fork?\n\nThe original project (developed by Marco Amadei and Gord Thompson) was the gold standard for Access connectivity but went quiet in 2020.\nAs a long-time contributor and Java enthusiast, I decided to give UCanAccess a **new home**.\n\nMy goal is to keep this essential tool alive, maintain a **high test coverage** (JUnit 5), and ensure it meets modern **Clean Code** and **SOLID** standards.\n\n\u003cp style=\"height: 20px;\"\u003e\u0026nbsp;\u003c/p\u003e\n\n## 🤝 Contributions welcome!\n\nGot a bug to fix or a feature to add?\n\n1. Check out the [Issues](https://github.com/spannm/ucanaccess/issues)\n2. [Fork](https://github.com/spannm/ucanaccess/fork) the Repo\n3. Submit a [Pull Request](https://github.com/spannm/ucanaccess/pulls)\n\n*Note: Please ensure your code follows the project's quality standards (Checkstyle, PMD are enforced in the build)*.\n\n\u003cdiv align=\"center\"\u003e ─────────────── \u003c/div\u003e\n\n### ⚖️ License\n\nUCanAccess is licensed under the **Apache License, Version 2.0**.\n\n\u003cp style=\"height: 40px;\"\u003e\u0026nbsp;\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ctable style=\"border-collapse: collapse;\"\u003e\n  \u003ctr\u003e\n    \u003ctd style=\"padding: 40px; border: 2px solid #3a82c2;\"\u003e\n      \u003cstrong\u003eEnjoying UCanAccess? Please leave a 🌟 to support the project!\u003c/strong\u003e\u003cbr\u003e\n      \u003csmall\u003eYour stars help to keep the bridge between Java and Access alive and visible.\u003c/small\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspannm%2Fucanaccess","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspannm%2Fucanaccess","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspannm%2Fucanaccess/lists"}