Skip to content

Known Issues and Unsupported Features

Sumit Sarabhai edited this page Mar 4, 2025 · 10 revisions

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. While we welcome contributions from the community, we kindly request potential contributors to wait for a few weeks as we prepare to open the project for community involvement. Stay tuned for updates, and we look forward to your participation in improving this project soon.

Known Issues

1. Streaming Support

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

2. Query Parameters Restrictions

  • Non-Unicode (VARCHAR) Parameters: Strings with size greater than 8192 (8k) are not supported.
  • Unicode (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

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

  • LOB Types text/ ntext / image: Fetching entries from these columns, if entry 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 microsecond precision is supported), datetimeoffset, uniqueidentifier, money, smallmoney, cursor, geography, geometry, 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