|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Добрый день! К серверу Microsoft SQL Server 2012(x64) подключен сервер Postgres. Драйвер - PostgreSQL35W Если поможет то вот с такими параметрами Server=;database=;ReadOnly=0;Protocol=7.4;FakeOidIndex=0;ShowOidColumn=0;RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;Socket=4096;UnknownSizes=0;MaxVarcharSize=255;MaxLongVarcharSize=2000000;Debug=0;CommLog=0;Optimizer=0;Ksqo=1;UseDeclareFetch=0;TextAsLongVarchar=1;UnknownsAsLongVarchar=1;BoolsAsChar=1;Parse=0;CancelAsFreeStmt=0;ExtraSysTablePrefixes=dd_;LFConversion=1;UpdatableCursors=1;DisallowPremature=0;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=0;UseServerSidePrepare=1;LowerCaseIdentifier=0;GssAuthUseGSS=0;XaOpt=1 Когда делаю INSERT небольших данных, то всё нормально. Как только размер данных более 4000, то получаю в SQL Символьные или двоичные данные могут быть усечены. В логе PostgreSQL35W - сообщение 'The buffer was too small for the GetData.' Поле в табл. PG типа TEXT. Можно как-то решить эту проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 13:07 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Похоже на ограничение nvarchar(4000) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 13:42 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
как выглядит insert? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 13:45 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Ролг Хупин, Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 14:10 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Oleg6619 Ролг Хупин, Код: sql 1. 2. 3. 4. 5. 6.
Вот и считайте, как написал выше коллега, где у вас перебор. Кроме того,там еще ОЛЕДБ провайдер посреди дороги ('The buffer was too small for the GetData.'), т.е. SQL Server->OLEDB Provider->PostgreSQL Server Если идут большие данные с SQL Server, то какой размер буфера в оледб провайдере, как его изменить, это вам виднее, смотрите в коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 16:55 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Ролг Хупин, К сожалению все параметры, что я знал , увеличил. Вот поэтому и обращаюсь в форум. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 20:31 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Oleg6619, Какие типы столбцов вернет Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 20:51 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
invm, Интересно..... А ка это увеличить? В PostGree тип поля text ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 21:02 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Oleg6619, В настройках DSN PG драйвера есть крыжик "Text as LongVarChar". Может поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 21:20 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
invm, К сожалению это уже установлено... Server=;database=;ReadOnly=0;Protocol=7.4;FakeOidIndex=0;ShowOidColumn=0;RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;Socket=4096;UnknownSizes=0;MaxVarcharSize=255; MaxLongVarcharSize=2000000; Debug=0;CommLog=0;Optimizer=0;Ksqo=1;UseDeclareFetch=0; TextAsLongVarchar=1; UnknownsAsLongVarchar=1;BoolsAsChar=1;Parse=0;CancelAsFreeStmt=0;ExtraSysTablePrefixes=dd_;LFConversion=1;UpdatableCursors=1;DisallowPremature=0;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=0;UseServerSidePrepare=1;LowerCaseIdentifier=0;GssAuthUseGSS=0;XaOpt=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 21:23 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Изменил тип данных в PostGree на XML. Получил вот такe.e структуру. Но ошибка осталась прежняя.... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2021, 22:16 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Решение через LinkServer не нашел. Пришлось написать приложение, которые переливает большие поля из MSSQL в PG. Что интересно, для подключению к PG используется тот же драйвер PostgreSQL35W. И параметры подключения те же самые. Получается виноват LinkServer. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 10:52 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Oleg6619, А если так попробовать Код: sql 1. 2. 3.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 11:38 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Oleg6619 invm, В PostGree тип поля text Что это "PostGREE" ? и что за OLE DB Provider используется для этого сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 12:28 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Oleg6619 Ролг Хупин, К сожалению все параметры, что я знал , увеличил. Вот поэтому и обращаюсь в форум. Эту ошибку дает ОЛЕДБ провайдер или одбс драйвер, который вы используете. Вам надо посомтреть в их код и возможно исправить там, перестроить Вот, к примеру, давно было, но все-таки: https://www.postgresql-archive.org/FW-GENERAL-Re-ADMIN-Cannot-retrieve-images-inserted-through-VB-and-odbc-after-a-table-reorganization-td5818183.html И здесь посмотрите ваше вообщение https://github.com/hiinoue/psqlodbc/blob/master/results.c Например, авторif (contents_get) result = SQL_SUCCESS; else { SC_set_error(stmt, STMT_TRUNCATED, "The buffer was too small for the GetData.", func); result = SQL_SUCCESS_WITH_INFO; } И т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 12:43 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Oleg6619 Решение через LinkServer не нашел. Пришлось написать приложение, которые переливает большие поля из MSSQL в PG. Что интересно, для подключению к PG используется тот же драйвер PostgreSQL35W. И параметры подключения те же самые. Получается виноват LinkServer. для эксперимента поставил ODBC драйвер от devart Код: sql 1.
и аналоги не сработали с полпинка зато Код: sql 1.
отработало на ура с прилётом на pg строчки нужной длины вывод: в нормальный ODBC умеют не только лишь все (с) и линкованные сервера тут не причём ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 12:47 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Поле, куда писал pg - тип TEXT Обычный odbc нормально через линкованный сервер выводил строки до момента, пока туда не прилетели строки больше 4000/8000 (в зависимости от unicode или нет) символов через devart odbc. Потом перестал выводить и через синтаксис линкованного сервера и через openquery, mssql ругался, что мол ждал от источника максимум 8000, а прилетело овердофига Openquery через драйвер devart отработал нормально, показал всё что нужно. Синтаксис через 3 точки так и не захотел работать. Бардакъ ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 13:10 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
andy st Oleg6619 Решение через LinkServer не нашел. Пришлось написать приложение, которые переливает большие поля из MSSQL в PG. Что интересно, для подключению к PG используется тот же драйвер PostgreSQL35W. И параметры подключения те же самые. Получается виноват LinkServer. для эксперимента поставил ODBC драйвер от devart Код: sql 1.
и аналоги не сработали с полпинка зато Код: sql 1.
отработало на ура с прилётом на pg строчки нужной длины вывод: в нормальный ODBC умеют не только лишь все (с) и линкованные сервера тут не причём Не надо спешить, как сказал волк зайцу, хватая того за задние лапы Линк серверы тут причем в том смысле, что вы используете одбс драйвер или оледб провайдер. Одбс драйвер для PostgreSQL - вещь свободная, но и полная мягко говоря ошибок. Я сам там исправлял несколько. Я не в курсе свободен ли деварт драйвер, но дерзайте и понимайте, что проблема в вашем случае - в драйвере. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 13:27 |
|
Ошибка при INSERT в LinkServer postgres длинной строки
|
|||
---|---|---|---|
#18+
Ролг Хупин Не надо спешить, как сказал волк зайцу, хватая того за задние лапы Линк серверы тут причем в том смысле, что вы используете одбс драйвер или оледб провайдер. Одбс драйвер для PostgreSQL - вещь свободная, но и полная мягко говоря ошибок. Я сам там исправлял несколько. Я не в курсе свободен ли деварт драйвер, но дерзайте и понимайте, что проблема в вашем случае - в драйвере. Он за денежку и в случае чего можно задать вопросы Есть еще cdata, тоже не бесплатный, тоже можно посмотреть А править ошибки в драйвере... ну если больше нечем заниматься и хочется качественно подсадить работодателя на свои поделки - норм путь. Там можно и постгрес дорабатывать, и линукс... потом в сервере свою платку куданить припаять для корректировки ошибок в железе/ускорения работы... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 13:35 |
|
|
start [/forum/topic.php?fid=46&fpage=20&tid=1684522]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 256ms |
total: | 381ms |
0 / 0 |