refactor: sql server support selecting compatibility with lower versions

This commit is contained in:
junjun
2026-02-02 14:07:06 +08:00
committed by Junjun
parent 16617a0336
commit 19c38321c0
6 changed files with 46 additions and 14 deletions
+3 -1
View File
@@ -120,6 +120,7 @@ class DatasourceConf(BaseModel):
sheets: List = ''
mode: str = ''
timeout: int = 30
lowVersion: bool = False
def to_dict(self):
return {
@@ -134,7 +135,8 @@ class DatasourceConf(BaseModel):
"filename": self.filename,
"sheets": self.sheets,
"mode": self.mode,
"timeout": self.timeout
"timeout": self.timeout,
"lowVersion": self.lowVersion
}
+22 -10
View File
@@ -108,16 +108,28 @@ def get_extra_config(conf: DatasourceConf):
def get_origin_connect(type: str, conf: DatasourceConf):
extra_config_dict = get_extra_config(conf)
if equals_ignore_case(type, "sqlServer"):
return pymssql.connect(
server=conf.host,
port=str(conf.port),
user=conf.username,
password=conf.password,
database=conf.database,
timeout=conf.timeout,
tds_version='7.0', # options: '4.2', '7.0', '8.0' ...,
**extra_config_dict
)
# none or true, set tds_version = 7.0
if conf.lowVersion is None or conf.lowVersion:
return pymssql.connect(
server=conf.host,
port=str(conf.port),
user=conf.username,
password=conf.password,
database=conf.database,
timeout=conf.timeout,
tds_version='7.0', # options: '4.2', '7.0', '8.0' ...,
**extra_config_dict
)
else:
return pymssql.connect(
server=conf.host,
port=str(conf.port),
user=conf.username,
password=conf.password,
database=conf.database,
timeout=conf.timeout,
**extra_config_dict
)
# use sqlalchemy