diff --git a/target_snowflake/connector.py b/target_snowflake/connector.py index 9662e2c..398d835 100644 --- a/target_snowflake/connector.py +++ b/target_snowflake/connector.py @@ -1,5 +1,6 @@ from __future__ import annotations +import urllib.parse from enum import Enum from functools import cached_property from operator import contains, eq @@ -194,7 +195,7 @@ def get_sqlalchemy_url(self, config: dict) -> str: if self.auth_method == SnowflakeAuthMethod.BROWSER: params["authenticator"] = "externalbrowser" elif self.auth_method == SnowflakeAuthMethod.PASSWORD: - params["password"] = config["password"] + params["password"] = urllib.parse.quote(config["password"]) for option in ["warehouse", "role"]: if config.get(option):