Skip to content

Патч формирования строки подключения mssql#81

Merged
Bayselonarrend merged 3 commits into
Bayselonarrend:mainfrom
zeratulayuris:zeratulayuris-mssql-patch
Dec 3, 2025
Merged

Патч формирования строки подключения mssql#81
Bayselonarrend merged 3 commits into
Bayselonarrend:mainfrom
zeratulayuris:zeratulayuris-mssql-patch

Conversation

@zeratulayuris

@zeratulayuris zeratulayuris commented Dec 2, 2025

Copy link
Copy Markdown
Contributor

Пароль может содержать спецсимволы, в том числе знак "=".
Без экранирования кавычками строка подключения с паролем, содержащим этот знак, вызывает ошибку при попытке выполнения запроса:
Conversion error: Conversion error: key-value pairs must be joined by a =

@Bayselonarrend

Copy link
Copy Markdown
Owner

Здравствуйте. А там не фигурные скобки нужны?

@zeratulayuris

Copy link
Copy Markdown
Contributor Author

Можно фигурные скобки, можно кавычки одинарные или двойные. Но вот наличие кавычек или фигурных скобок в пароле снова всё ломает, независимо от того, какие именно символы использованы для экранирования. Видимо, дело в компоненте подключения, стандартная ADO.NET должна уметь такое разруливать (https://learn.microsoft.com/ru-ru/sql/connect/ado-net/connection-strings?view=sql-server-ver17)

@Bayselonarrend

Copy link
Copy Markdown
Owner

Можно фигурные скобки, можно кавычки одинарные или двойные. Но вот наличие кавычек или фигурных скобок в пароле снова всё ломает, независимо от того, какие именно символы использованы для экранирования. Видимо, дело в компоненте подключения, стандартная ADO.NET должна уметь такое разруливать (https://learn.microsoft.com/ru-ru/sql/connect/ado-net/connection-strings?view=sql-server-ver17)

В компоненте используется tiberius, там ADO.NET формат
https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/connection-strings

Но я что-то, честно говоря, не могу пока найти там какой-то инфы об этом. И по коду tiberius не видно какого-нибудь экранирования. А вы пробовали этот код с кавычками запускать?

@zeratulayuris

Copy link
Copy Markdown
Contributor Author

Пробовал с разными кавычками, с фигурными скобками в виде экранирования - = исправно экранирует, кавычки и фигурные скобки в пароле вызывают ошибку разбора. Пока что у себя пропатчил, но хотелось бы эти изменения видеть в библиотеке - меньше возни со сборкой в докере.

@Bayselonarrend

Copy link
Copy Markdown
Owner

Понял, ок. Только добавьте эти исправления, пожалуйста, сюда. В остальные модули не обязательно - они все равно все пересоберутся из этого

@zeratulayuris

Copy link
Copy Markdown
Contributor Author

Ок, добавил.

@Bayselonarrend
Bayselonarrend merged commit bdc91ae into Bayselonarrend:main Dec 3, 2025
1 check passed
@Bayselonarrend

Copy link
Copy Markdown
Owner

Ок, спасибо

Bayselonarrend added a commit that referenced this pull request Mar 10, 2026
Патч формирования строки подключения mssql
Bayselonarrend added a commit that referenced this pull request May 18, 2026
Патч формирования строки подключения mssql
Bayselonarrend added a commit that referenced this pull request Jun 13, 2026
Патч формирования строки подключения mssql
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants