Тип varbinary не вариант передать как простой тип, его надо преобразовывать специальной функцией.
Собираем динамический запрос:
В результате получается запрос вида:
Запрос нормально выполнился, объект который был сериализован в это поле работает корректно.
Функция преобразования: master.dbo.fn_varbintohexstr(...)
Собираем динамический запрос:
SELECT
'INSERT INTO [dbo].[setting]
([idsetting]
,[name]
,[intvalue]
,[comment]
,[deleted]
,[txtvalue]
,[blbvalue]
,[groupname]
,[idsettinggroup]
,[namecrypt]
,[dtvalue]
,[guid]
,[addorder]
,[addmodel]
,[strvalue]
,[intvalue2]
,[strvaluecrypt]
,[txtvaluecrypt]
,[commentcrypt]
,[customtable])
VALUES
(96
,'''+name+'''
,NULL
,NULL
,NULL
,NULL
,NULL
,NULL
,9
,NULL
,NULL
,'''+CAST([guid] AS VARCHAR(MAX))+'''
,0
,0
,NULL
,NULL
,NULL
,NULL
,NULL
,'+master.dbo.fn_varbintohexstr(customtable)+');
'
FROM [dbo].[setting]
WHERE idsetting = 96
В результате получается запрос вида:
INSERT INTO [dbo].[setting]
([idsetting]
,[name]
,[intvalue]
,[comment]
,[deleted]
,[txtvalue]
,[blbvalue]
,[groupname]
,[idsettinggroup]
,[namecrypt]
,[dtvalue]
,[guid]
,[addorder]
,[addmodel]
,[strvalue]
,[intvalue2]
,[strvaluecrypt]
,[txtvaluecrypt]
,[commentcrypt]
,[customtable])
VALUES
(96
,'Соответствия идентификаторов'
,NULL
,NULL
,NULL
,NULL
,NULL
,NULL
,9
,NULL
,NULL
,'7368CA2C-A9A6-4EE8-84F4-CE21CA0A6409'
,0
,0
,NULL
,NULL
,NULL
,NULL
,NULL
,0x504b030414000900080093863244c03751987a02000093130000090000004d6f64656c2e786d6c3722b8824917fb0d8976f2b8a758d216545538760de70a0a50cbcee84abfe47ef1c1fdedf6000fcafba57f8902df3797b9898ad14043f2a401b57e703bbc8a99fb35b30caf9f95627917a486fc5de126641ff31195538af04e8ffcad9eea22a261e8f196641f29e64ded9b15476097b94e03b32fadb35f8c02b11d1b97fd0677ac50da8fcd4c427cafad6b07a1ee0e6128ae4b982f68553c7cc3eeea90aecd04f1561cb41a3586971ec6c58fcef79ff5719aafaac7a77dd93f179a7309f5e8e11bebc0a5fedbaeedc2dbdbbaad0e08a1296405779c14fd11ca71c4a64750dff3ad7bc609712ff991fd750c5f5d4ef39236a0f1a294ae320bac5efa99aa1b695d1099de8eb00c95f0ce351cb841f41627267561dd0cdc8377bfe68402ff414a0f24db70c9e2eeeae3beadef0141d143ccb0ecc49c18d9bfe1fabf87f993cc4c8f18f551baf930aca1b4736b26dd5a0173f8427d0eec89f6ec5b46642bb3175d28390e9a55c41a5918b7c17272ce4c1b66bb717fce3bcf7dc5fa117c13934c6333131ecda0df3ca9174961f5b32c9e83c09d007428b0e94cd721a727dd47e3cd641bba5ec44b6a4e84f814de26ef437be37245ccfdcc35cbaa89553c129c392cb8d33e57bf42b8783c7ff68aef1f55871446bb16226d6d07a4ba64011c26d9e9cc796e91faca776906d28361b744aba75a68662ebadc4c465575b0b8548408d09d026897b1920bdf0b87585f661f1b546e3ec7dcfed94126c9fc12d158fd71c36f192e5bb248768608ad9e4ecd34cf44bfa19408ac7b9c256868c2c115753c4cc262b555448231cdd4d0049d87e64d83dde5c5faa3fe3e186e1a7260a961cf665629eab188e593a2c09a4f34b21ad0b4c0be5253a022c3611b26b8504b0708c03751987a02000093130000504b01022d0014000900080093863244c03751987a020000931300000900000000000000000000000000000000004d6f64656c2e786d6c504b0506000000000100010037000000b10200000000);
Запрос нормально выполнился, объект который был сериализован в это поле работает корректно.
Функция преобразования: master.dbo.fn_varbintohexstr(...)
Комментариев нет:
Отправить комментарий