Skip to content

Known Issues and Unsupported Features

Sumit Sarabhai edited this page Feb 28, 2025 · 10 revisions

Known Issues

We are actively working on resolving the known issues and aim to address them in future updates to enhance the overall functionality and performance of the driver. We welcome contributions from the community and invite you to join us in improving this project.

1. Streaming Support

Streaming of input/output parameters and fetched result sets is currently not supported.

2. Query Parameters Restrictions

  • VARCHAR Parameters: Strings with size greater than 8192 (8k) are not supported.
  • NVARCHAR Parameters: Strings with size greater than 4096 (4k) are not supported.
  • NULL/None Values in Binary Columns: Adding NULL/None values to binary columns using parameter markers is not supported.
    • Example: cursor.execute("INSERT INTO my_table (binary_column) VALUES (?)", None)

Note: The restrictions on VARCHAR and NVARCHAR parameters will be addressed in the beta release when streaming support is added.

3. Fetching Parameter Restrictions

SQL LOB Types (VARCHAR(MAX)/NVARCHAR(MAX)/VARBINARY(MAX)): Fetching entries from these columns whose size exceeds 4096 characters is not supported.

ODBC LOB Types LONGVARCHAR/LONGNVARCHAR/LONGVARBINARY Columns: Fetching entries from these columns, even if their size is less than 1GB, will be slow.

Note: The restrictions on fetching large entries will be addressed in the beta release when streaming support is added.

4. Exception Handling

More nuanced exception classes, error messages, and log levels will be introduced for improved debugging and error tracking.

Unsupported Features

  1. Access Token Authentication Method in connection string.

  2. Following Cursor Methods DBAPIs:

    Methods: setinputsize(), setoutputsize(), callproc()

    Param Types: Inputoutput, Output

    Optional DB APIs Extensions

  3. SQL Data Types:

    Datetime2 (only microsec is supported), Uniqueidentifier, Money, Smallmoney, Cursor, geography 1, geometry 1, Hierarchyid, Json, Vector, Rowversion, sql_variant, Table, Xml

  4. Connection String Parameters:

    Port Specifies the port number to connect to the SQL Server instance.

    Integrated Security When set to "SSPI", uses Windows Authentication for login validation.

    Packet Size Specifies the size of network packets in bytes.

    Workstation ID Specifies the workstation ID for the connection.

    Language Sets the SQL Server language for the session.

    AttachDBFileName Specifies the name of the primary file of an attachable database.

    MultipleActiveResultSets When set to "true", allows multiple active result sets (MARS) on the connection.

    Pooling When set to "true", enables connection pooling.

    Column Encryption Setting Specifies whether Always Encrypted is enabled for the connection.

    TransparentNetworkIPResolution When set to "true", enables transparent network IP resolution.

    ApplicationIntent Declares the application workload type when connecting to a server (e.g., "ReadOnly", "ReadWrite").

    Failover Partner Specifies the name of the failover partner server.

    Load Balance Timeout Specifies the time in seconds for the load balancing timeout.

    Replication When set to "true", indicates that the connection is used for replication.

    User Instance When set to "true", connects to a user instance of SQL Server Express.

    Column Encryption Setting Specifies whether Always Encrypted is enabled for the connection.

Clone this wiki locally