|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Здравствуйте, сразу извиняюсь за мой корявый русский. У меня следущая проблема: Мы используем на фирме 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 функцией. Может ли мне здесь кто-то помочь, в чем может быть проблема? Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 17:30 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yukiв чем может быть проблема? В реализации сетевого протокола .NET драйвера. Переходи на использование нативной библиотеки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 17:33 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovВ реализации сетевого протокола .NET драйвера. Переходи на использование нативной библиотеки. какой плюс от нативной библиотеки? И почему сейчас не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 17:45 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yukiкакой плюс от нативной библиотеки? И почему сейчас не работает? Потому что сетевой протокол Firebird нетривиален и в нём есть пара мест, где рыбу заворачивали. Поэтому с его эмуляцией Иржи не справился. Поэтому твоя программа не работает. Нативная библиотека автоматически заворачивает рыбу в тех же местах, поэтому она работает. Но это, конечно, не факт, что плюс. Возможно, тебя устраивают падения на ровном месте. Возможно, ты огорчишься, если их не будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 17:49 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИржи что это слово значит? Проблема в том, что наши программа состоит из многих больших модулей и один компонент перевести на .NET Native не поличится. Нужно будет переводить весь нашей ведущей программный корпус. При этом некоторые компоненты написаны еще в Delphi. Это будет большой и трудоёмкий процесс, который возможно не захочет профинансировать начальство, если оно не увидеть от этого какой-то профит. Это конечно круто описать о заварачевание рыбы, но мне бы больше помогло, в чем может быть конкретна проблема, где конкретно нужно мне искать и можно ли обойти проблему на данный момент при помощи с# -кода ... Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 18:09 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki> что это слово значит? Это слово значит имя разработчика. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 18:13 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki, попробуй описать свою проблему тут https://groups.google.com/forum/#!forum/firebird-net-provider Не забудь указать точную версию .net provider и Firebird (2.5 - не точная версия), и фрагмент проблемного кода, вместе с DDL соответствующих объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 18:18 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
hvlad, Спасибо, попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 18:20 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yukiнаши программа состоит из многих больших модулей и один компонент перевести на .NET Native не поличится. Нужно будет переводить весь нашей ведущей программный корпус. Это будет большой и трудоёмкий процесс Э-э-э... Изменить один параметр в строке подключения это "большой и трудоёмкий процесс"?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 18:24 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЭ-э-э... Изменить один параметр в строке подключения это "большой и трудоёмкий процесс"?.. Похоже моего русского или моих знаний все таки недостаточно хватает, потому что я не поняла ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 18:38 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2018, 22:03 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
YukiЕсли эта колонка привышет размер 64 КБ, и я делаю update строки из с# В других компонентах обычно делается создание blobstream (а не передача в параметр именно строки), и запись в блоб идет уже через него (потому что для работы с blob в Firebird API есть специальные функции). http://www.ibase.ru/ibx#blob Тут, конечно, и как строка и как blob, но это пример, что в IBX работают оба варианта. В .Net, понятно, что-то может и не работать, DS уже объяснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 00:06 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
kdvВ .Net, понятно, что-то может и не работать, DS уже объяснил. Нет, вот как раз самую тупую ошибку - передачу блоба через литерал - я и не упомянул. Это был бы перелёт даже для шарпея. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 00:20 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
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, перед тем как я ее буду обновлять, может решить мою проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 10:12 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki, неужели в отладчике нельзя посмотреть что происходит? Dimitry Sibiryakov, про глупость с записью блоба как строкового литерала было с обновлением модели EF. Ну если это ещё и сюда воткнули, то это вообще ни в какие ворота не лезет. Вряд ли прям такие конкретные косяки есть в .NET провайдере. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 10:19 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Симонов ДенисYuki, неужели в отладчике нельзя посмотреть что происходит? Dimitry Sibiryakov, про глупость с записью блоба как строкового литерала было с обновлением модели EF. Ну если это ещё и сюда воткнули, то это вообще ни в какие ворота не лезет. Вряд ли прям такие конкретные косяки есть в .NET провайдере. Конечно я продебажила до FireBird-компонента. Да, ничего не остаються как продебажить и сам FireBird компонент. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 10:24 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki, именно. Исходник всё равно открыт. Там хотя бы ответ будет на причину ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 10:25 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yukiтак выглядит мой ConnectionString И чо? Я назвал два параметра, которые позволят использовать нативную клиентскую библиотеку Firebird. Как сейчас выглядит твоя строка подключения - мне совершенно всё равно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 12:33 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Симонов ДенисТам хотя бы ответ будет на причину ошибки Ответ ясен уже из первого поста: провайдер посылает серверу страшный пакет, тот пугается и в панике рвёт коннект. Это знание ничем аффтарше не поможет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 12:55 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да я про то чтобы посмотреть что именно за запрос посылается. Хотя бы в плане снять предположение о том, что блоб поле записано как литерал в тексте запроса. Гы... как предположение попытка засунуть весь блоб в один сегмент. Кстати сразу не понял увидел кусок на немецком подумал, что это пользовательская ошибка, а это просто Visual Studio перевод ошибок делает. Надо было на стек внимательней глянуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:28 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСимонов ДенисТам хотя бы ответ будет на причину ошибки Ответ ясен уже из первого поста: провайдер посылает серверу страшный пакет, тот пугается и в панике рвёт коннект. Это знание ничем аффтарше не поможет. Во-первых, я не знаю, чем я вас могла обидеть, что вы со мной так общаетесь. Не хотите помогать не помогайте и все, а грубить и иронизировать не надо. А вопрос был, почему с Insert коммандой такой поток информации проходит. И провидер замечательно пишет в базу данных, а с Update ничего не получается. Симонов ДенисServerType=1; ClientLibrary="fbclient.dll" Это значит что я должна использовать embedded server, что в нашем случае невозможно, так как embedded server использует Superserver архитектуру. Superserver architectire не подходит под наш продукт. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:46 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
YukiЭто значит что я должна использовать embedded server у вас remote connection, с указанием имени сервера. Откуда тут embedded??? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:54 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
YukiВо-первых, я не знаю, чем я вас могла обидеть, что вы со мной так общаетесь. Глупостью. Она меня всегда выводит из себя. Yukiвопрос был, почему с Insert коммандой такой поток информации проходит. И провидер замечательно пишет в базу данных, а с Update ничего не получается. Ответ был дан: потому что провайдер неправильно формирует сетевой пакет. YukiЭто значит что я должна использовать embedded server Нет, не значит. Будет ли использован embedded режим или коннект к удалённому серверу зависит от строки подключения (той, что получает клиентская библиотека, а не той, что вы скармливаете провайдеру). Прочитайте уже, наконец, Firebird Quick Start Guide и прочую документацию. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:54 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki, вы не того человека цитируете. Я вам этого не предлагал. Обычно fbclient сам решает когда работать как embedded в зависимости от строки подключения. Но что там накрутил Иржи я не знаю. Ты уже спросила там где посоветовал hvlad? Dimitry Sibiryakov хоть и бывает груб, но зачастую полезные вещи говорит, не стоит на него обижаться. Просто надо пропускать некоторые слова мимо ушей и фильтровать полезное. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 14:06 |
|
|
start [/forum/topic.php?fid=40&fpage=29&tid=1560960]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 174ms |
0 / 0 |