Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Добрый День! Прошу о помощи.
В MSSQL пытаюсь создать связанный сервер с бд firebird , проверка соединения завершается успешно.
При попытке открыть каталог с таблицами подключенной бд firebird возникает ошибка «String or binary data would be truncated. (Microsoft SQL Server, ошибка: 8152)», список таблиц не выводится .

Запросам обращаюсь к таблицы « SELECT top 10 * FROM [firedird1]...T_DOG» возвращается ошибка: «OLE DB provider 'LCPI.IBProvider.3' for linked server 'firedird1' returned data that does not match expected data length for column '[firedird1]...[T_DOG].BLOCK'. The (maximum) expected data length is 96, while the returned data length is 44.»

Подскажите как с этим бороться.

К сообщению приложен файл. Размер - 36Kb
30 май 14, 12:00    [16096414]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8302
Похоже на проблемы драйвера и/или его совместимостью с сиквелом конкретной версии.
30 май 14, 12:18    [16096555]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
Glory
Member

Откуда:
Сообщений: 104760
а как себе ведет
EXEC sp_tables_ex @table_server = 'FIREDIRD1'
30 май 14, 12:31    [16096655]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Glory, сведения о таблицах выводятся
30 май 14, 12:35    [16096690]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
Glory
Member

Откуда:
Сообщений: 104760
adunya
Glory, сведения о таблицах выводятся

Странно. По идеи студия должна выполнять приблизительно такой же код, чтои в внутри процедуры
Вы можете отследить, что же действительно она выполняет ?
30 май 14, 12:50    [16096802]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Владислав Колосов,
Для того чтобы настроить линк были установлены драйверы IBProvider_trial_vc11xp_64bit_3.20.0.15939.r0 и IBProvider_trial_vc11xp_32bit_3.20.0.15939.r0, я правильно поняла Вас возможно именно в них причина?
Я просто не являюсь системным администратором бд, его у нас нет, я обычный пользователь sql и поэтому плохо разбираюсь


Microsoft SQL Server Management Studio 11.0.3128.0
WI-V.3.2.26539 Firedird 2.5
30 май 14, 12:51    [16096810]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Glory,

Вы не могли бы подсказать с помощью какой утилиты это можно сделать, в SQL для этого используется Profiler , а с утилитой для Firebird ранее не сталкивалась . Еще сейчас заметила, что с несколькими таблицами я могу работать, но по остальным возвращается ошибка «OLE DB 'LCPI.IBProvider.3 " для связанного сервера " firedird1-возразил данные, которые не соответствуют ожидаемым»
30 май 14, 13:26    [16097161]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
Glory
Member

Откуда:
Сообщений: 104760
adunya
Вы не могли бы подсказать с помощью какой утилиты это можно сделать, в SQL для этого используется Profiler , а с утилитой для Firebird ранее не сталкивалась

Я и говорил про Профайлер. Потому что он должен показать, какую команду студия использует для получения списка объектов связанного сервера

adunya
Еще сейчас заметила, что с несколькими таблицами я могу работать, но по остальным возвращается ошибка «OLE DB 'LCPI.IBProvider.3 " для связанного сервера " firedird1-возразил данные, которые не соответствуют ожидаемым»

Это - другая ошибка
И связана она с тем, что или драйвер или сам firebird "возратил данные, которые не соответствуют ожидаемым"
Потому что MSSQL сначала хочет получить метаданные, а только потом сами данные.
И если задекларированный в метаданных размер поля не соответствует реально полученным, то и будет ошибка
30 май 14, 13:34    [16097224]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Glory,

большое спасибо за помощь
30 май 14, 14:04    [16097463]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
Коваленко Дмитрий
Member

Откуда: Липецк
Сообщений: 580
adunya,

Покажи строку подключения связанного сервера. Походу, у тебя в ней не указано truncate_char=false.

Ну и еще, почитай вот эту статью - Registration and work with Linked Server of MSSQL 2012.. В частности, вот этот раздел.
30 май 14, 16:01    [16098341]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
vikkiv
Member

Откуда: EU
Сообщений: 2912
А не может-ли ключь быть в понятии "Trial"?
adunya
..были установлены драйверы IBProvider_trial_vc11xp_64bit_3.20.0.15939.r0 и IBProvider_trial_vc11xp_32bit_3.20.0.15939.r0, я правильно поняла Вас возможно именно в них причина? Я просто не являюсь системным администратором бд, его у нас нет
30 май 14, 16:58    [16098750]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Коваленко Дмитрий
adunya,

Покажи строку подключения связанного сервера. Походу, у тебя в ней не указано truncate_char=false.

Ну и еще, почитай вот эту статью - Registration and work with Linked Server of MSSQL 2012.. В частности, вот этот раздел.



Именно по этой инструкции я все и настраивала.

Trial поставила то тому-что пока тестирую. Дома на тестовых базах все работает.
На текущий момент работать с некоторыми таблицами я могу по остальным возникают ошибка.
Например в таблице [T_ROVD] заложено, что поле TITLE CHAR(128) , на текущий момент maх(len(TITLE))=46, при попытке создать запрос возникает ошибка « OLE DB 'LCPI.IBProvider.3 " для связанного сервера " firedird1-возразил данные, которые не соответствуют ожидаемым длина данных для столбца " [firedird1]...[T_ROVD].TITLE'. (Максимальная) ожидаемые данные длина-256, в то время как длина возвращенных данных 46.» Получается, что программа ругается на длину данных в таблицах, но изменить параметры я не могу

К сообщению приложен файл. Размер - 13Kb
2 июн 14, 10:11    [16104362]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
Коваленко Дмитрий
Member

Откуда: Липецк
Сообщений: 580
adunya,

Визуально, в строке подключения напрягают только пробелы(?) между параметрами. Если это пробелы, а не какие-нибудь левые символы, которые портят имена параметра. Логин и пароль в строке подключения не указываются - их указывают на вкладке безопасность.

У тебя, походу, проблема с CHAR-колонками. Провайдер, по умолчанию, отрезает правые пробелы (для текстовых колонок) или нули (бинарные колонки).

Я попробовал на своем русском MSSQL 2008 читать данные без указания truncate_char=false. Получил ошибку вида:

Поставщик OLE DB "LCPI.IBProvider.3" для связанного сервера "FB_EMPL2" вернул для столбца "[FB_EMPL2]...[SALES].PO_NUMBER" данные, по размеру не соответствующие ожидаемым данным. Максимально ожидаемая длина данных 16, тогда как длина возвращенных данных 4.


Если указать truncate_char=false, то проблем нет (провайдер добивает пробелами и нулями до нужной длины).

Есть мысль, что у тебя truncate_char написано с русскими буквами. Должны быть одни латинские.

Получить параметры связанного сервера можно через контекстное меню "Создать сценарий для связанного сервера"->"Используя CREATE ..."->"Новое окно редактора запросов"

---
Если база не очень большая, то зашли её к нам (ibprovider@ibprovider.com) или ссылку для её скачивания. Ну или бакап с метаданными. Бакап с метаданными - лучше всего.

Это самый ненапряжный способ понять что там у тебя не так :).

А так - интересует версия твоего FB и кодовые страницы текстовых колонок.
2 июн 14, 14:46    [16106581]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Коваленко Дмитрий,


Настроила связанные сервер заново, ошибка при работе с таблицами устранена, спасибо за помощь .

Хочу теперь уточнить, для 64-битной операционной системы, мне лицензии на два драйвера IBProvider_trial_vc11xp_64bit_3.20.0.15939.r0 и IBProvider_trial_vc11xp_32bit_3.20.0.15939.r0 необходимо приобретать?
2 июн 14, 16:04    [16107191]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при настройки связанных серверов "String or binary data would be truncated"  [new]
Коваленко Дмитрий
Member

Откуда: Липецк
Сообщений: 580
adunya,

Вам, судя по описанию задачи, нужно будет приобрести одну "серверную" лицензию для использования IBProvider-a совместно с MSSQL. Там всего два вида - для "MSSQL Standard" и для "MSSQL Entriprise Edition". Я думаю, разберетесь, какую именно вам надо купить.

Будут вопросы (любого плана), пожалуйста, пишите на ibprovider@ibprovider.com :)

Спасибо за использование IBProvider-a.
Коваленко Дмитрий.
2 июн 14, 17:41    [16108182]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить