Skip to main content
atoti_directquery_mssql.ConnectionConfig(
    *,
    password: RedactedStr | None = None,
    auto_multi_column_array_conversion: AutoMultiColumnArrayConversion | None = None,
    redacted_properties: FrozenMapping[str, RedactedStr] = frozendict(),
    column_clustered_queries: ‘all’ | ‘feeding’ = 'feeding',
    feeding_query_timeout: Duration = datetime.timedelta(seconds=3600),
    lookup_mode: ‘allow’ | ‘warn’ | ‘deny’ = 'warn',
    max_sub_queries: Annotated[int, Field(gt=0)] = 500,
    query_timeout: Duration = datetime.timedelta(seconds=300),
    url: str,
)
Config to connect to a Microsoft SQL Server database.

Attributes

url

The JDBC connection string. See https://learn.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver16 for more information.

auto_multi_column_array_conversion

When not None, multi-column array conversion will be performed automatically.

column_clustered_queries

Control which queries will use clustering columns.

feeding_query_timeout

Timeout for queries performed on the external database during feeding phases. The feeding phases are:

lookup_mode

Whether lookup queries on the external database are allowed. Lookup can be very slow and expensive as the database may not enforce primary keys.

max_sub_queries

Maximum number of sub queries performed when splitting a query into multi-step queries.

password

The password to connect to the database.
Deprecated since version 6.2.2: Pass it in redacted_properties instead, under the name this database’s driver gives its password property:
A password is only one of the credentials a database accepts, and the supported databases are favoring other forms of authentication (e.g. OAuth).
A property named in redacted_properties for the same purpose takes precedence over this attribute. If None, a password is expected to be present in url.

query_timeout

Timeout for queries performed on the external database outside feeding phases.

redacted_properties

The driver properties whose values must not be logged. A property carrying or locating a secret, such as a password, the passphrase of a private key or an OAuth client secret, goes here rather than in url. Atoti keeps these values out of its logs, and a repr() shows each name with <redacted> in place of its value, so the properties that are set can be seen without the secrets they carry. A connection string offers neither assurance. Every other property, including the one selecting the authentication method, belongs in url. The accepted names are the ones this database’s own driver documents. A driver enumerating the properties it accepts rejects a name it does not know rather than ignoring it. A property named here takes precedence over password, which remains the way to pass a password without naming the driver’s own property for it.
The driver decides what it writes to its own logs. This attribute keeps a secret out of Atoti’s logs, not out of every log.
Added in version 6.2.2.