powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
25 сообщений из 63, страница 1 из 3
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713151
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,
сразу извиняюсь за мой корявый русский.
У меня следущая проблема:
Мы используем на фирме FireBird 2.5.
Одна колонка в базе следущего типа: Kuerzel BLOB SUB_TYPE 1 SEGMENT SIZE 80
Если эта колонка привышет размер 64 КБ, и я делаю update строки из с#, то у меня программа выдает следущие ощибки:
автор Exception level #0
FirebirdSql.Data.Common.IscException("Error reading data from the connection.")
bei FirebirdSql.Data.Client.Managed.Version10.GdsTransaction.Rollback()
bei FirebirdSql.Data.Client.Managed.Version10.GdsTransaction.Dispose()
bei FirebirdSql.Data.FirebirdClient.FbTransaction.Dispose(Boolean disposing)
bei Mediaform.DBConnect.DataBaseConnect.DatabaseCommand.Dispose(Boolean disposing) in C:\BuildAgent\work\348af86f8fbebf2a\Mediaform.DBConnect\DBConnect.Command.cs:Zeile 102.
bei Mediaform.ScanTools.OrderManagerService.Database.DataTables.ORDER.Data.Save(Int32 ID) in C:\BuildAgent\work\19bfd854f2b11f13\OrderManagerService.CoreLib\Database\DataTable.ORDER.cs:Zeile 428.
bei Mediaform.ScanTools.OrderManagerService.OrderManager.sampleManagementWorker_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e) in C:\BuildAgent\work\19bfd854f2b11f13\Service\OrderManagerService.OrderManager.Process.cs:Zeile 372.
Exception level #1
System.IO.IOException("In die Übertragungsverbindung können keine Daten geschrieben werden: Eine bestehende Verbindung wurde softwaregesteuert
durch den Hostcomputer abgebrochen.")
bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
bei FirebirdSql.Data.Client.Managed.XdrStream.Flush()
bei FirebirdSql.Data.Client.Managed.Version10.GdsTransaction.Rollback()
Exception level #2
System.Net.Sockets.SocketException("Eine bestehende Verbindung wurde softwaregesteuert
durch den Hostcomputer abgebrochen")
bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
если я делаю INSERT или DELETE, то все замечательно, проблема только с UPDATE функцией.
Может ли мне здесь кто-то помочь, в чем может быть проблема?

Заранее спасибо
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713154
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yukiв чем может быть проблема?

В реализации сетевого протокола .NET драйвера. Переходи на использование нативной библиотеки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713163
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovВ реализации сетевого протокола .NET драйвера. Переходи на использование нативной библиотеки.

какой плюс от нативной библиотеки? И почему сейчас не работает?
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713170
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yukiкакой плюс от нативной библиотеки? И почему сейчас не работает?

Потому что сетевой протокол Firebird нетривиален и в нём есть пара мест, где рыбу
заворачивали. Поэтому с его эмуляцией Иржи не справился. Поэтому твоя программа не
работает. Нативная библиотека автоматически заворачивает рыбу в тех же местах, поэтому она
работает. Но это, конечно, не факт, что плюс. Возможно, тебя устраивают падения на ровном
месте. Возможно, ты огорчишься, если их не будет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713187
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovИржи

что это слово значит?

Проблема в том, что наши программа состоит из многих больших модулей и один компонент перевести на .NET Native не поличится. Нужно будет переводить весь нашей ведущей программный корпус. При этом некоторые компоненты написаны еще в Delphi. Это будет большой и трудоёмкий процесс, который возможно не захочет профинансировать начальство, если оно не увидеть от этого какой-то профит.
Это конечно круто описать о заварачевание рыбы, но мне бы больше помогло, в чем может быть конкретна проблема, где конкретно нужно мне искать и можно ли обойти проблему на данный момент при помощи с# -кода ...
Спасибо
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713190
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuki> что это слово значит?

Это слово значит имя разработчика.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713195
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuki,

попробуй описать свою проблему тут
https://groups.google.com/forum/#!forum/firebird-net-provider

Не забудь указать точную версию .net provider и Firebird (2.5 - не точная версия),
и фрагмент проблемного кода, вместе с DDL соответствующих объектов.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713199
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Спасибо, попробую.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713204
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yukiнаши программа состоит из многих больших модулей и один компонент перевести на .NET Native
не поличится. Нужно будет переводить весь нашей ведущей программный корпус.
Это будет большой и трудоёмкий процесс

Э-э-э... Изменить один параметр в строке подключения это "большой и трудоёмкий процесс"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713213
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЭ-э-э... Изменить один параметр в строке подключения это "большой и трудоёмкий процесс"?..

Похоже моего русского или моих знаний все таки недостаточно хватает, потому что я не поняла ответ.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713259
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yukiмоих знаний все таки недостаточно хватает

https://www.connectionstrings.com/firebird/
https://stackoverflow.com/questions/41980813/firebird-net-provider-and-embedded-server-3

Ключевые слова: ServerType=1; ClientLibrary="fbclient.dll"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713281
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YukiЕсли эта колонка привышет размер 64 КБ, и я делаю update строки из с#
В других компонентах обычно делается создание blobstream (а не передача в параметр именно строки), и запись в блоб идет уже через него (потому что для работы с blob в Firebird API есть специальные функции).
http://www.ibase.ru/ibx#blob
Тут, конечно, и как строка и как blob, но это пример, что в IBX работают оба варианта. В .Net, понятно, что-то может и не работать, DS уже объяснил.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713284
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВ .Net, понятно, что-то может и не работать, DS уже объяснил.

Нет, вот как раз самую тупую ошибку - передачу блоба через литерал - я и не упомянул. Это
был бы перелёт даже для шарпея.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713386
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
так выглядит мой ConnectionString
авторType=1
ConnectionString=pooling=false
Provider=FIREBIRD
Server=me-vmdbserver.mediaform.local
Port=3050
PortAlias=gds_db
Database=C:\Mediaform\data\SCANTOOLS.fdb
Username=sysdba
Password=masterkey
Role=

Dimitry SibiryakovНет, вот как раз самую тупую ошибку - передачу блоба через литерал - я и не упомянул. Это
был бы перелёт даже для шарпея.

вообще-то я ожидала что адаптер может с этим справиться.
я читаю из DataBase эту строку, обрабатываю ее и конечно пишу обратно. Для этого использую System.Data-oбъект. И да я не передаю строку обратно как string variable.
Если я сейчас это строку переведу в Byte Array, перед тем как я ее буду обновлять, может решить мою проблему?
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713391
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuki,

неужели в отладчике нельзя посмотреть что происходит?

Dimitry Sibiryakov,

про глупость с записью блоба как строкового литерала было с обновлением модели EF. Ну если это ещё и сюда воткнули, то это вообще ни в какие ворота не лезет. Вряд ли прям такие конкретные косяки есть в .NET провайдере.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713394
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисYuki,

неужели в отладчике нельзя посмотреть что происходит?

Dimitry Sibiryakov,

про глупость с записью блоба как строкового литерала было с обновлением модели EF. Ну если это ещё и сюда воткнули, то это вообще ни в какие ворота не лезет. Вряд ли прям такие конкретные косяки есть в .NET провайдере.

Конечно я продебажила до FireBird-компонента. Да, ничего не остаються как продебажить и сам FireBird компонент.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713395
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuki,

именно. Исходник всё равно открыт. Там хотя бы ответ будет на причину ошибки
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713509
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yukiтак выглядит мой ConnectionString

И чо? Я назвал два параметра, которые позволят использовать нативную клиентскую библиотеку
Firebird. Как сейчас выглядит твоя строка подключения - мне совершенно всё равно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713534
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТам хотя бы ответ будет на причину ошибки

Ответ ясен уже из первого поста: провайдер посылает серверу страшный пакет, тот пугается и
в панике рвёт коннект. Это знание ничем аффтарше не поможет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713552
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

да я про то чтобы посмотреть что именно за запрос посылается. Хотя бы в плане снять предположение о том, что блоб поле записано как литерал в тексте запроса.

Гы... как предположение попытка засунуть весь блоб в один сегмент.

Кстати сразу не понял увидел кусок на немецком подумал, что это пользовательская ошибка, а это просто Visual Studio перевод ошибок делает. Надо было на стек внимательней глянуть.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713567
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovСимонов ДенисТам хотя бы ответ будет на причину ошибки

Ответ ясен уже из первого поста: провайдер посылает серверу страшный пакет, тот пугается и
в панике рвёт коннект. Это знание ничем аффтарше не поможет.

Во-первых, я не знаю, чем я вас могла обидеть, что вы со мной так общаетесь.
Не хотите помогать не помогайте и все, а грубить и иронизировать не надо.
А вопрос был, почему с Insert коммандой такой поток информации проходит. И провидер замечательно пишет в базу данных, а с Update ничего не получается.

Симонов ДенисServerType=1; ClientLibrary="fbclient.dll"
Это значит что я должна использовать embedded server, что в нашем случае невозможно, так как embedded server использует Superserver архитектуру. Superserver architectire не подходит под наш продукт.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713574
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YukiЭто значит что я должна использовать embedded server
у вас remote connection, с указанием имени сервера. Откуда тут embedded???
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713575
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YukiВо-первых, я не знаю, чем я вас могла обидеть, что вы со мной так общаетесь.

Глупостью. Она меня всегда выводит из себя.

Yukiвопрос был, почему с Insert коммандой такой поток информации проходит. И
провидер замечательно пишет в базу данных, а с Update ничего не получается.
Ответ был дан: потому что провайдер неправильно формирует сетевой пакет.

YukiЭто значит что я должна использовать embedded server
Нет, не значит. Будет ли использован embedded режим или коннект к удалённому серверу
зависит от строки подключения (той, что получает клиентская библиотека, а не той, что вы
скармливаете провайдеру).

Прочитайте уже, наконец, Firebird Quick Start Guide и прочую документацию.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713583
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuki,

вы не того человека цитируете. Я вам этого не предлагал.
Обычно fbclient сам решает когда работать как embedded в зависимости от строки подключения. Но что там накрутил Иржи я не знаю.
Ты уже спросила там где посоветовал hvlad?

Dimitry Sibiryakov хоть и бывает груб, но зачастую полезные вещи говорит, не стоит на него обижаться. Просто надо пропускать некоторые слова мимо ушей и фильтровать полезное.
...
Рейтинг: 0 / 0
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
    #39713585
Yuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
Sorry не правильно процитировала.
Я не обижаюсь, просто очень странно мне.
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]