@@ -21,6 +21,11 @@ class SqlServerContainer(DbContainer):
2121            ...    engine = sqlalchemy.create_engine(mssql.get_connection_url()) 
2222            ...    with engine.begin() as connection: 
2323            ...        result = connection.execute(sqlalchemy.text("select @@VERSION")) 
24+ 
25+     Notes 
26+     ----- 
27+     Requires `ODBC Driver 17 for SQL Server <https://docs.microsoft.com/en-us/sql/connect/odbc/ 
28+     linux-mac/installing-the-microsoft-odbc-driver-for-sql-server>`_. 
2429    """ 
2530
2631    def  __init__ (
@@ -31,6 +36,7 @@ def __init__(
3136        port : int  =  1433 ,
3237        dbname : str  =  "tempdb" ,
3338        dialect : str  =  "mssql+pymssql" ,
39+         driver : str  =  "ODBC Driver 17 for SQL Server" ,
3440        ** kwargs ,
3541    ) ->  None :
3642        raise_for_deprecated_parameter (kwargs , "user" , "username" )
@@ -43,6 +49,7 @@ def __init__(
4349        self .username  =  username 
4450        self .dbname  =  dbname 
4551        self .dialect  =  dialect 
52+         self .driver  =  driver 
4653
4754    def  _configure (self ) ->  None :
4855        self .with_env ("SA_PASSWORD" , self .password )
@@ -56,6 +63,8 @@ def _connect(self) -> None:
5663        assert  status  ==  0 , "Cannot run 'SELECT 1': container is not ready" 
5764
5865    def  get_connection_url (self ) ->  str :
59-         return  super ()._create_connection_url (
66+         base_url   =  super ()._create_connection_url (
6067            dialect = self .dialect , username = self .username , password = self .password , dbname = self .dbname , port = self .port 
6168        )
69+         url  =  base_url  +  f"?driver={ '+' .join (self .driver .split (' ' ))}  
70+         return  url 
0 commit comments