У меня есть связанный сервер, указывающий на базу данных Informix.Используя этот связанный сервер, я пишу SQL-запрос для извлечения данных и загрузки их в SQL-таблицу.
Но существует несколько таблиц, которые выдают ошибку переполнения типа данных.Для таблицы я определил столбец и запись, которая вызывает проблему.Не удалось преобразовать значение данных по причине, отличной от несоответствия или переполнения знака.
Если я исключаю этот столбец или конкретную запись, моя инструкция SELECT возвращает результат без каких-либо проблем.Я проанализировал этот столбец, который является типом данных Char;Я получаю сообщение об ошибке, когда в поле есть определенные символы (€ или š).
Ниже приведен сценарий, который я использовал для создания Связанного сервера:
DECLARE @provider NVARCHAR(4000);
SET @provider = N'Driver={IBM INFORMIX ODBC DRIVER};'
`+` N'SERVICE=1526 ;' --Informix service name
`+` N'PROTOCOL=onsoctcp ;' --Informix protocol
--+ N'DB_LOCALE=en_US.819; CLIENT_LOCALE=en_US.819;';
EXEC master.dbo.sp_addlinkedserver
@server =N'LS_INFORMIX', --Linked Server system name
@srvproduct=N'Ifxoledbc',
@provider=N'Ifxoledbc',
@datasrc=N'xxx@yyyyyy', --Informix Database
@provstr= @provider;
Я пытался удалить commentLine в 5-й строке, но я получаю ошибку 7303 (не могу инициализировать Ifxoledbc).
Может ли кто-нибудь мне помочь?