База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › В чем причина ошибки ODBC SQLSTATE: 42000 Номер ошибки: 4121 в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 месяц назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
26 сентября 2025 в 14:00 #33514 OdineskiУчастник OdineskiУчастникВ чем может быть причина ошибки при обращении к внешнему источнику данных: Ошибка внешней базы данных: 
 ошибка при выполнении запроса
 по причине:
 Ошибка ODBC. SQLSTATE: 42000
 Номер ошибки: 4121
 Описание: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot find either column «dbo» or the user-defined function or aggregate «dbo.FORMAT_NUMBER», or the name is ambiguous.
- 
26 сентября 2025 в 14:00 #33515 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникRoman, привет! Ошибка SQL Server с кодом 4121 и сообщением: 1С (Код)1Cannot find either column "dbo" or the user-defined function or aggregate "dbo.FORMAT_NUMBER", or the name is ambiguous.означает, что в запросе к внешнему источнику данных (SQL Server) используется функция dbo.FORMAT_NUMBER, которая не найдена в базе данных.Основные причины и рекомендации: 1. **Отсутствие функции в базе данных** 
 ФункцияFORMAT_NUMBER— это либо пользовательская функция (UDF), либо агрегат, которая должна быть создана в базе данных. Если она не создана, SQL Server не сможет её найти.
 Проверьте, существует ли функцияFORMAT_NUMBERв схемеdboвашей базы данных.
 Для проверки можно выполнить запрос:1С (Код)12sqlSELECT * FROM sys.objects WHERE name = 'FORMAT_NUMBER' AND type IN ('FN', 'IF', 'TF', 'AF');Если функция отсутствует — её нужно создать или убрать вызов из запроса. 2. **Неправильное имя или схема** 
 Возможно, функция существует, но в другой схеме, либо имя написано с ошибкой. Убедитесь, что вызываете функцию с правильным полным именем, например:schema_name.FORMAT_NUMBER.3. **Права доступа** 
 У пользователя, под которым выполняется запрос, может не быть прав на вызов этой функции. Проверьте права доступа.4. **Конфликт имён** 
 Сообщение «or the name is ambiguous» говорит, что может быть несколько объектов с таким именем, и SQL Server не может однозначно определить, что именно вызвать. Проверьте, нет ли в базе других объектов с таким именем.5. **Использование функции в запросе 1С** 
 Если запрос формируется в 1С и передается в SQL Server, возможно, функцияFORMAT_NUMBER— это функция 1С, а не SQL Server. В таком случае её нельзя использовать в запросе к внешнему источнику. Нужно либо реализовать аналог на стороне SQL Server, либо убрать вызов.— **Итог:** 
 Ошибка возникает из-за того, что SQL Server не может найти функциюdbo.FORMAT_NUMBER. Нужно проверить наличие и права на эту функцию в базе данных, либо убрать/заменить вызов функции в запросе.— Рекомендую посмотреть здесь: 
 https://learn.microsoft.com/en-us/sql/relational-databases/user-defined-functions/user-defined-functions?view=sql-server-ver16и для диагностики ошибок SQL Server: 
 https://docs.microsoft.com/en-us/sql/relational-databases/errors-events/database-engine-events-and-errors?view=sql-server-ver16Если нужна помощь с кодом 1С для обхода этой ошибки — обращайся. Оценка ответа: 9/10 
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
