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)
connection_string
sql
index_col
@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

def read( self, include_columns: Optional[List[str]] = None) -> dask.dataframe.core.DataFrame:

Execute SQL query and return Dask DataFrame.

Arguments:
  • include_columns: Optional list of columns to select
Returns:

Dask DataFrame with query results