|
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 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Симонов Денис, Sorry не правильно процитировала. Я не обижаюсь, просто очень странно мне. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 14:09 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yukiочень странно мне. Это форум, а не техподдержка. Тут могут указать путь решения проблемы или путь к его нахождению, но не следует ожидать, что кто-то с высунутым языком бросится расписывать прописные истины или пересказывать букварь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 14:12 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Конечно уже читала и читаю сейчас. Но пока мне ещё не понятно, где я могу что сделать. Поэтому написала в форуме. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 14:12 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovYukiочень странно мне. Это форум, а не техподдержка. Тут могут указать путь решения проблемы или путь к его нахождению, но не следует ожидать, что кто-то с высунутым языком бросится расписывать прописные истины или пересказывать букварь. Не ожидаю никакого решения. Но если я ответы не понимаю, то спрашиваю дальше. Спасибо. Буду копаться больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 14:14 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Симонов ДенисТы уже спросила там где посоветовал hvlad?Нет, не спросила, увы. Лень ? Yuki, это нужно сделать, ибо если ошибка в провайдере - её нужно найти и исправить. Если ошибка в твоём коде - там на её укажут, не здесь. PS На Сибирякова рекомендую забить, у него очередное обострение ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 14:22 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
hvladСимонов ДенисТы уже спросила там где посоветовал hvlad?Нет, не спросила, увы. Лень ? Yuki, это нужно сделать, ибо если ошибка в провайдере - её нужно найти и исправить. Если ошибка в твоём коде - там на её укажут, не здесь. PS На Сибирякова рекомендую забить, у него очередное обострение Нет еще не спросила. Так как надо региться в google. А я не очень с google дружу. Но сделаю, у меня просто не только эта задача а еще другие... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 14:52 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki, проблема в том, что здесь нет людей с достаточным опытом работы с .NET Provider. Была бы проблема с Firebird или нативным клиентом (fbclient.dll), или в Delphi/C++ подсказали бы. Не дружишь с гуглом, ну так делай минимально воспроизводимый пример на тестовой БД и сразу в трекер http://tracker.firebirdsql.org/browse/DNET Если конечно проблема не в твоём коде. Хотя судя по локализации Visual Studio вы не в России живёте, странная не любовь к гуглу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:00 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki> у меня просто не только эта задача а еще другие... А время/возможность поэкспериментировать у Вас есть? Если да, то попробуйте (просто ради интереса) поменять Subtype c 1 на 0 и проверьте. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:03 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Симонов ДенисYuki, проблема в том, что здесь нет людей с достаточным опытом работы с .NET Provider. Была бы проблема с Firebird или нативным клиентом (fbclient.dll), или в Delphi/C++ подсказали бы. Не дружишь с гуглом, ну так делай минимально воспроизводимый пример на тестовой БД и сразу в трекер http://tracker.firebirdsql.org/browse/DNET Если конечно проблема не в твоём коде. Хотя судя по локализации Visual Studio вы не в России живёте, странная не любовь к гуглу. Спасибо, за подсказку. Да, займусь. Да вы правы живу в Германии и гуглом стараюсь не пользоваться, но это уже совсем другая тема. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:10 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Мимопроходящий05.10.2018 15:05, Симонов Денис пишет: > ты ещё скажи русские хакеры не. они НАХОДЯТ ответы. на всё. вот и ищу ответы... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:14 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki> вот и ищу ответы... Вы бы лучше, чем тратить время на бесполезный трёп, на вопросы отвечали. Ибо даже если Вы уйдёте от злого дяди Димы к "доброму" дяде Иржи, он всё равно вряд ли поможет без соответствующих уточнений: 1. Точная версия провайдера. 2. Запрос (на который вываливается ошибка). Возможно, есть баг, возможно тип параметра неправильный, если да, то возможно есть простой воркэраунд (явно указать тип или если параметр кастится автоматом - запретить автокаст). И т.д. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:19 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамYuki> у меня просто не только эта задача а еще другие... А время/возможность поэкспериментировать у Вас есть? Если да, то попробуйте (просто ради интереса) поменять Subtype c 1 на 0 и проверьте. Binary sub type мы используем для сохранения наших картиник. Я знаю, что в этом случае все пойдет хорошо. К сожалению если я поменяю Blob text колонку на типе 0, то наш суппорт мне голову оторвет, так как им нужен именно текст. Они использует в своих других манипуляциях при установки программ у клиентов. Мы хотим перейти на binary, но это будет в следущем году и будем тогда писать тоол для суппорта, что бы они могли делать свои манипуляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:22 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki, не увидел в вашем ConnectionString чарсета подключения ибо для текстовых блобов это важно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:28 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki> Binary sub type ... в этом случае все пойдет хорошо Значит, моё подозрение оказалось верным. Соответственно, понятно куда копать и какие могут быть воркэраунды. Попробуйте, для начала, указать subtype 0 в самом запросе или в свойствах параметра. > Они использует в своих других манипуляциях при установки программ у клиентов. > Мы хотим перейти на binary, но это будет в следущем году и будем тогда писать тоол для суппорта Жесть. А что за программное обеспечение Вы разрабатываете (отрасль, название продукта и фирмы можете не называть) ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:31 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Симонов Денис> ибо для текстовых блобов это важно Каким образом тут поможет чарсет? Она же в лимит не укладывается. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:32 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
05.10.2018 15:31, Гаджимурадов Рустам пишет: > Жесть. А что за программное обеспечение Вы разрабатываете > (отрасль, название продукта и фирмы можете не называть) ? SAP Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:39 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
А FB им зачем? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:41 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, да он должен быть указан в любом случае. И да там не должно быть никаких лимитов для параметризованных запросов, если они есть то это 100% баг провайдера. Основная цель ADO.NET - абстракция от конкретной БД. Т.е. если ты в текстовый блоб записываешь длинную строку, то провайдер должен сам записать её посегментно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 15:42 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
YukiСимонов ДенисServerType=1; ClientLibrary="fbclient.dll" Это значит что я должна использовать embedded server, что в нашем случае невозможно, так как embedded server использует Superserver архитектуру. Superserver architectire не подходит под наш продукт. Вам нужно 1. Определить причину ошибки 2. Определить возможные пути исправления или обхода ошибки 3. Определить, какой (какие) из путей можно использовать в вашей "большой" программе. Вы не хотите делать 1 потому что хотите делать сразу 3. Не получится, если ещё не получилось. Поэтому 1. На основе приведенного куска - сделайте мааааленькую для тестов программу. И чтобы она выдала эту же ошибку. http://sscce.org/ Может быть уже тут возникнет расхождение, и окажется что дело вовсе не в провайдере и не в сервере, мало ли как бывает. 2. на базе этой маленькой лабораторной крыски, которую вы можете легко модифицировать без страха сломать что-то большое, исследуйте возможные пути решения. Даже если конкретное решение будет не применимо к "большой" программе - оно может многое сообщить о причине проблем и "в какую сторону копать" в частности на этой маленькой программе можно проверить переключение .Net провайдера на нативного firebird client в частности на этой маленькой программе можно проверить переключение на ibprovider.com и вообще всё, что придёт в голову проверить 3. потом уже, с меню возможных решений, можно выбирать как исправлять "большую" программу P.S. ну а насчет грубости - этот недостаток - неизбежное продолжение достоинств этого форума, который вы выбрали впереди многих других http://maddog.sitengine.ru/smart-question-ru.html Симонов ДенисХотя судя по локализации Visual Studio вы не в России живёте, странная не любовь к гуглу. Для пользования форумами Google Groups (ex-De Ja News) раньше гугловский аккаунт был вообще не нужен. Сейчас не знаю, может быть и закрутили гайки. Гаджимурадов РустамСимонов Денис> ибо для текстовых блобов это важно Каким образом тут поможет чарсет? Она же в лимит не укладывается. :) Именно "тут" - возможно никак. А вообще, соединения без чарсета - это грабли. Как только программы будут написаны на разных языках, с разными идеями библиотек как должен выглядеть нормальный текст. Я даже добивался, чтобы в JayBird такие соединения запрещали ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 16:23 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Симонов Денис> И да там не должно быть никаких лимитов для параметризованных запросов С чего вы решили, что там параметризованный запрос? Нет ни текста запроса, ни даже кода присвоения значения. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 16:38 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
AriochА вообще, соединения без чарсета - это грабли. Возможно, Иржи не дурак и принудительно (по умолчанию) назначает чарсет соединения UTF-8. Во всяком случае лично я бы его месте так делал. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 16:39 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
05.10.2018 16:39, Dimitry Sibiryakov пишет: > Во всяком случае лично я бы его месте так делал. это потому, что ты не веришь в человечество. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 16:43 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
DS> Во всяком случае лично я бы его месте так делал. А почему, собсно? Это же некорректно. Как и запрет на соединение без указанного чарсета, AFAIU. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 16:47 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамYuki> Жесть. А что за программное обеспечение Вы разрабатываете (отрасль, название продукта и фирмы можете не называть) ? Мы разрабатываем программы для медицинских лабораторий. Все что приходит в лабораторию, сканируется и отправляется к дальнейшей обработки в LIS через нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:07 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Arioch, Вы правы, придётся так и сделать. Я просто думала, что проблема может быть уже знакома. К сожалению поиск ничего не дал, поэтому решила спросить на форуме. Этот форум нашла через ссылку на Firebird driver странице. Поэтому и написала. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:10 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамА почему, собсно? Это же некорректно. ..NET, насколько я знаю, работает исключительно в юникоде. Принудительно выставить коннекту известную кодировку в (из) которую этот юникод способен гарантированно быть преобразован - единственный способ заранее обезвредить большинство граблей. Альтернативой является распознавание кодировки, указанной пользователем, и преобразование всех строк в неё, что весьма проблематично. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:12 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAriochА вообще, соединения без чарсета - это грабли. Возможно, Иржи не дурак и принудительно (по умолчанию) назначает чарсет соединения UTF-8. Во всяком случае лично я бы его месте так делал. Так все таки мне непонятно. Если ему надо чарсет, то почему тогда программа работает со строками меньшего размера без проблем? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:12 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki> программа работает со строками меньшего размера без проблем? А что, Вы и правда такие длинные тексты строками гоняете - в десятки тысяч символов? P.S. Я всё же советую Вам ответить на вопросы. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:15 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамYuki> вот и ищу ответы... Вы бы лучше, чем тратить время на бесполезный трёп, на вопросы отвечали. Ибо даже если Вы уйдёте от злого дяди Димы к "доброму" дяде Иржи, он всё равно вряд ли поможет без соответствующих уточнений: 1. Точная версия провайдера. 2. Запрос (на который вываливается ошибка). Возможно, есть баг, возможно тип параметра неправильный, если да, то возможно есть простой воркэраунд (явно указать тип или если параметр кастится автоматом - запретить автокаст). И т.д. Проглядела ваши вопросы. 1. 5.12.1 2. Что бы ответить на этот вопрос, надо упростить код. К сожалению доступа к коду из дома нет. Политика фирмы. Смогу ответить на этот вопрос через неделю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:22 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
YukiТак все таки мне непонятно. Если ему надо чарсет, то почему тогда программа работает со строками меньшего размера без проблем? Игнорируйте, как и всё остальное непонятное. Чарсет не имеет отношения к ошибке из первого поста. Это уже дискуссия, никак с вами не связанная. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:22 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Спасибо большое всем за помощь. Ушла в отпуск. Политика фирма не разрешает доступа к коду удаленно. Поэтому смогу ещё раз все проверить и дать ответы по коду только через неделю. Ещё раз спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:24 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
жэнтльмены! у меня такое ощущение что нас поматросили! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:27 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЧарсет не имеет отношения к ошибке из первого поста. Это уже дискуссия, никак с вами не связанная. а вот это не факт. От реализации зависит. Скорее всего .NET провайдер пытается записать блоб максимально допустимыми кусками для равными максимальному размеру сегмента. Если он вдруг неправильно посчитает байты в строке, то может быть швах. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:34 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki> 2. Что бы ответить на этот вопрос, надо упростить код Он в дебаггере/профайлере виден должен быть. > Смогу ответить на этот вопрос через неделю. Классный у вас режим работы! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:45 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Yuki> Ушла в отпуск. Поэтому смогу ещё раз все проверить Yuki> и дать ответы по коду только через неделю. В Германии недельный отпуск - это норма? :) Приятного отдыха! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:47 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамКак и запрет на соединение без указанного чарсета а это почему некорректно? ну кроме криков "мы всегда ходили по этим граблям ,и дальше так хотим ходить, не заставляйте нас думать, тираны!!!" ....хотя крики были достаточно громкими и Марк откатил запрет до ворнинга (который все равно никто никогда не прочитает) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:49 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
YukiТак все таки мне непонятно. Если ему надо чарсет, то почему тогда программа работает я вроде бы явно написал AriochКак только программы будут написаны на разных языках... у каждой программы своё представление как именно отображаются буквы на байты и обратно. пока у вас все программы с одинаковым представлением - то на практике разницы нет ....но только пока кто-то в будущем не добавит к комплексу другую программу, например "мелкую утилиту для саппорта". И если этот кто-то не будет закладываться на проблему неуказания другими программами чарсета при соединении с Firebird'ом (а он про неё будет знать? посмотрите в зеркало и скажите честно: не будет) - то мы получим БД в которой в разных таблицах будут для текстов совсем разные байты, с очевидными последствиями ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 17:53 |
|
FirebirdSQL.Data.FirebirdClient update строки размером более 64 КБ не выполняется
|
|||
---|---|---|---|
#18+
Arioch> а это почему некорректно? Ну потому что нет такой необходимости. > Марк откатил запрет до ворнинга Вооот. Не перевелись здравомыслящие люди. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 18:06 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560960]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
others: | 309ms |
total: | 490ms |
0 / 0 |