Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8302 |
Похоже на проблемы драйвера и/или его совместимостью с сиквелом конкретной версии. |
30 май 14, 12:18 [16096555] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
а как себе ведет EXEC sp_tables_ex @table_server = 'FIREDIRD1' |
30 май 14, 12:31 [16096655] Ответить | Цитировать Сообщить модератору |
adunya Member Откуда: Москва Сообщений: 53 |
Glory, сведения о таблицах выводятся |
30 май 14, 12:35 [16096690] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Странно. По идеи студия должна выполнять приблизительно такой же код, чтои в внутри процедуры Вы можете отследить, что же действительно она выполняет ? |
||
30 май 14, 12:50 [16096802] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
adunya Member Откуда: Москва Сообщений: 53 |
Glory, Вы не могли бы подсказать с помощью какой утилиты это можно сделать, в SQL для этого используется Profiler , а с утилитой для Firebird ранее не сталкивалась . Еще сейчас заметила, что с несколькими таблицами я могу работать, но по остальным возвращается ошибка «OLE DB 'LCPI.IBProvider.3 " для связанного сервера " firedird1-возразил данные, которые не соответствуют ожидаемым» |
30 май 14, 13:26 [16097161] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Я и говорил про Профайлер. Потому что он должен показать, какую команду студия использует для получения списка объектов связанного сервера
Это - другая ошибка И связана она с тем, что или драйвер или сам firebird "возратил данные, которые не соответствуют ожидаемым" Потому что MSSQL сначала хочет получить метаданные, а только потом сами данные. И если задекларированный в метаданных размер поля не соответствует реально полученным, то и будет ошибка |
||||
30 май 14, 13:34 [16097224] Ответить | Цитировать Сообщить модератору |
adunya Member Откуда: Москва Сообщений: 53 |
Glory, большое спасибо за помощь |
30 май 14, 14:04 [16097463] Ответить | Цитировать Сообщить модератору |
Коваленко Дмитрий Member Откуда: Липецк Сообщений: 580 |
adunya, Покажи строку подключения связанного сервера. Походу, у тебя в ней не указано truncate_char=false. Ну и еще, почитай вот эту статью - Registration and work with Linked Server of MSSQL 2012.. В частности, вот этот раздел. |
30 май 14, 16:01 [16098341] Ответить | Цитировать Сообщить модератору |
vikkiv Member Откуда: EU Сообщений: 2912 |
А не может-ли ключь быть в понятии "Trial"?
|
||
30 май 14, 16:58 [16098750] Ответить | Цитировать Сообщить модератору |
adunya Member Откуда: Москва Сообщений: 53 |
Именно по этой инструкции я все и настраивала. 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] Ответить | Цитировать Сообщить модератору |
Коваленко Дмитрий Member Откуда: Липецк Сообщений: 580 |
adunya, Визуально, в строке подключения напрягают только пробелы(?) между параметрами. Если это пробелы, а не какие-нибудь левые символы, которые портят имена параметра. Логин и пароль в строке подключения не указываются - их указывают на вкладке безопасность. У тебя, походу, проблема с CHAR-колонками. Провайдер, по умолчанию, отрезает правые пробелы (для текстовых колонок) или нули (бинарные колонки). Я попробовал на своем русском MSSQL 2008 читать данные без указания truncate_char=false. Получил ошибку вида:
Если указать truncate_char=false, то проблем нет (провайдер добивает пробелами и нулями до нужной длины). Есть мысль, что у тебя truncate_char написано с русскими буквами. Должны быть одни латинские. Получить параметры связанного сервера можно через контекстное меню "Создать сценарий для связанного сервера"->"Используя CREATE ..."->"Новое окно редактора запросов" --- Если база не очень большая, то зашли её к нам (ibprovider@ibprovider.com) или ссылку для её скачивания. Ну или бакап с метаданными. Бакап с метаданными - лучше всего. Это самый ненапряжный способ понять что там у тебя не так :). А так - интересует версия твоего FB и кодовые страницы текстовых колонок. |
||
2 июн 14, 14:46 [16106581] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
Коваленко Дмитрий Member Откуда: Липецк Сообщений: 580 |
adunya, Вам, судя по описанию задачи, нужно будет приобрести одну "серверную" лицензию для использования IBProvider-a совместно с MSSQL. Там всего два вида - для "MSSQL Standard" и для "MSSQL Entriprise Edition". Я думаю, разберетесь, какую именно вам надо купить. Будут вопросы (любого плана), пожалуйста, пишите на ibprovider@ibprovider.com :) Спасибо за использование IBProvider-a. Коваленко Дмитрий. |
2 июн 14, 17:41 [16108182] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |