integrate_ai_sdk.odbc
ODBC connectivity for federated learning.
logger =
<Logger integrate_ai_sdk.odbc (ERROR)>
class
ODBCDask:
Dask DataFrame wrapper for ODBC database connections.
Security Note:
This class validates SQL queries to prevent injection attacks using iai_common.validation. Only SELECT queries are allowed. Column names and connection parameters are also validated.
ODBCDask(connection_string: str, sql: str, index_col: Optional[str] = None)
Initialize ODBC connection.
Arguments:
- connection_string: SQLAlchemy connection string or raw ODBC string
- sql: SQL query to execute
- index_col: Column to use as index in dask DataFrame (optional, auto-derives from first column)
- database: Database name (required if connection_string not provided)
@classmethod
def
create( cls, connection_string: Optional[str] = None, sql: Optional[str] = None, database: Optional[str] = None, index_col: Optional[str] = None):
Create ODBCDask instance from environment variables or explicit args.
Environment variables:
IAI_ODBC_SERVER: Database server hostname IAI_ODBC_USERNAME: Username IAI_ODBC_PASSWORD: Password (populated by odbc-credential.sh) IAI_ODBC_DB_TYPE: Database type (sqlserver, mysql, postgresql, oracle) IAI_ODBC_PORT: Port number (optional)
Arguments:
- connection_string: Override connection string (optional)
- sql: SQL query to execute (optional if in dataset metadata)
- database: Database name (required if connection_string not provided)
- index_col: Column to use as index in dask DataFrame (optional, auto-derives from first column)
Returns:
ODBCDask instance