Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Flex-ODBC: High-Performance Polyglot Driver Framework

Flex-ODBC is a modern, high-performance C++ framework designed to simplify the creation of native ODBC drivers. By decoupling the legacy Windows/Linux ODBC API from your database logic, it allows you to build a fully functional driver in C++, C#, or Java without touching a single line of raw Win32/ODBC boilerplate.

License: Apache 2.0 C++ Status


✨ Key Features

  • Contract-First Design: Defined by a single driver.proto file. All communication is typed and validated.
  • Polyglot Sidecar Support: Write your data-fetching logic in the language of your choice (C#, Java, Python).
  • Zero-Copy Streaming: Optimized for moving high-volume result sets from your backend to the ODBC manager.
  • Cross-Platform Ready: Native support for Windows (MSVC), Linux (GCC), and macOS (Clang).
  • Developer Friendly: Forget the 100+ ODBC function exports; just implement a few clean interfaces.

🏗️ Architecture at a Glance

Flex-ODBC acts as a High-Speed Bridge. It handles the complex state management required by the ODBC Driver Manager and forwards requests to your "Backend" via Protobuf-encoded messages.

  1. SDK (C++): The "Bridge" DLL that the OS loads.
  2. Schema (Protobuf): The shared "Contract" for requests and data.
  3. Sidecar (Java/C#/C++): Your custom database implementation.

📘 Deep Dive: For a full breakdown of the system design and design patterns used, see ARCHITECTURE.md.


🛠️ Getting Started as an External SDK

We recommend referencing this repository as a submodule or external dependency rather than forking it. This allows you to receive updates to the sdk engine without merge conflicts.

1. Prerequisite: Environment Setup

Run our automation script to ensure your compilers (MSVC/GCC), Java SDK, and .NET tools are synchronized:

py .\scripts\install_tools.py

About

ODBC Driver SDK

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages