ORACLE和SQL SERVER数据交换的二进制问题

2023-05-16


用BIZTALK交换数据也有不少时间了,主要是SQL SERVER 和ORACLE之间数据交互,同时还有 webservice,file,smtp,pop,ftp,http,excel,access等。曾经遇到的问题也一一解决,未解决的问题也正在尝试解决。以前从SQL到ORACLE遇到二进制交换,研究半天终于解决,后来遇到ORACLE到SQL的二进制交换,研究了几天,有所收获。


1 SQL SERVER

从SQL SERVER中取出数据,其中有的字段为二进制的,比如IMAGE。表结构如下:

ContractedBlock.gif ExpandedBlockStart.gif CodeSqlTable
  CREATE TABLE [dbo].[RYZPK](
    
[id] [bigint] IDENTITY(1,1NOT FOR REPLICATION NOT NULL,
    
[gh] [char](8) COLLATE Chinese_PRC_CI_AS NULL,
    
[zp] [image] NULL,
    
[qr] [smallint] NULL,
    
[sfzh] [nvarchar](18) COLLATE Chinese_PRC_CI_AS NULL,
    
[xm] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    
[photopath] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
 
CONSTRAINT [PK_RYZPK] PRIMARY KEY CLUSTERED 
(
    
[id] ASC
)
WITH (IGNORE_DUP_KEY = OFFON [PRIMARY]
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

如图1 :


使用 SELECT * FROM RYZPK for xml auto,xmldata


得到的结果如下:
ContractedBlock.gif ExpandedBlockStart.gif Codesqlnobase64
<Schema name="Schema1" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
  
<ElementType name="RYZPK" content="empty" model="closed">
    
<AttributeType name="id" dt:type="i8" />
    
<AttributeType name="gh" dt:type="string" />
    
<AttributeType name="zp" dt:type="uri" />
    
<AttributeType name="qr" dt:type="i2" />
    
<AttributeType name="sfzh" dt:type="string" />
    
<AttributeType name="xm" dt:type="string" />
    
<AttributeType name="photopath" dt:type="string" />
    
<attribute type="id" />
    
<attribute type="gh" />
    
<attribute type="zp" />
    
<attribute type="qr" />
    
<attribute type="sfzh" />
    
<attribute type="xm" />
    
<attribute type="photopath" />
  
</ElementType>
</Schema>
<RYZPK xmlns="x-schema:#Schema1" id="13" gh="00659   " zp="dbobject/RYZPK[@id='13']/@zp" />
<RYZPK xmlns="x-schema:#Schema1" id="14" gh="08266   " zp="dbobject/RYZPK[@id='14']/@zp" />
<RYZPK xmlns="x-schema:#Schema1" id="15" gh="00145   " zp="dbobject/RYZPK[@id='15']/@zp" />
<RYZPK xmlns="x-schema:#Schema1" id="16" gh="10324   " zp="dbobject/RYZPK[@id='16']/@zp" />
<RYZPK xmlns="x-schema:#Schema1" id="17" gh="08772   " zp="dbobject/RYZPK[@id='17']/@zp" />
<RYZPK xmlns="x-schema:#Schema1" id="18" gh="10364   " zp="dbobject/RYZPK[@id='18']/@zp" />
<RYZPK xmlns="x-schema:#Schema1" id="19" gh="07044   " zp="dbobject/RYZPK[@id='19']/@zp" />

zp字段为二进制,得出的xml文档中不可能解析出二进制流,于是使用dbobject/RYZPK[@id='1']/@zp来替代,意思就是在RYZPK中主键为id='1'的记录,字段zp的值,相当于C++编程时的指针,传递的是一个内存地址,而不是实际值。

使用SELECT * FROM RYZPK for xml auto生成的架构文件如下:

 

ContractedBlock.gif ExpandedBlockStart.gif Codenobase64xsd
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ryzpk_notbase64" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
<xs:annotation>
    
<xs:appinfo>
      
<msbtssql:sqlScript value="select * from ryzpk for xml auto" xmlns:msbtssql="http://schemas.microsoft.com/BizTalk/2003" />
    
</xs:appinfo>
  
</xs:annotation>
  
<xs:element name="ryzpk_notbase64">
    
<xs:complexType>
      
<xs:sequence>
        
<xs:element minOccurs="0" maxOccurs="unbounded" name="ryzpk" xmlns:q1="http://ryzpk_notbase64" type="q1:ryzpkType" />
      
</xs:sequence>
    
</xs:complexType>
  
</xs:element>
  
<xs:complexType name="ryzpkType">
    
<xs:attribute name="id" type="xs:long" />
    
<xs:attribute name="gh" type="xs:string" />
    
<xs:attribute name="zp" type="xs:anyURI" />
    
<xs:attribute name="qr" type="xs:short" />
    
<xs:attribute name="sfzh" type="xs:string" />
    
<xs:attribute name="xm" type="xs:string" />
    
<xs:attribute name="photopath" type="xs:string" />
  
</xs:complexType>
</xs:schema>

 

可以看出image字段zp类型为xs:anyURI

如图2:


 

1.2 要想真正解析出二进制

可以将二进制转换成BASE64编码形势保存在xml中,方法如下:
 
  SELECT * FROM RYZPK for xml auto ,binary base64,xmldata
  得到的结果如下:

 

ContractedBlock.gif ExpandedBlockStart.gif Codebase64
  <Schema name="Schema1" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
  
<ElementType name="RYZPK" content="empty" model="closed">
    
<AttributeType name="id" dt:type="i8" />
    
<AttributeType name="gh" dt:type="string" />
    
<AttributeType name="zp" dt:type="bin.base64" />
    
<AttributeType name="qr" dt:type="i2" />
    
<AttributeType name="sfzh" dt:type="string" />
    
<AttributeType name="xm" dt:type="string" />
    
<AttributeType name="photopath" dt:type="string" />
    
<attribute type="id" />
    
<attribute type="gh" />
    
<attribute type="zp" />
    
<attribute type="qr" />
    
<attribute type="sfzh" />
    
<attribute type="xm" />
    
<attribute type="photopath" />
  
</ElementType>
</Schema>
<RYZPK xmlns="x-schema:#Schema1" id="13" gh="00659   " zp="/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a" />
<RYZPK xmlns="x-schema:#Schema1" id="14" gh="08266   " zp="/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a" />
<RYZPK xmlns="x-schema:#Schema1" id="15" gh="00145   " zp="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" />
<RYZPK xmlns="x-schema:#Schema1" id="16" gh="10324   " zp="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" />
<RYZPK xmlns="x-schema:#Schema1" id="17" gh="08772   " zp="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" />
<RYZPK xmlns="x-schema:#Schema1" id="18" gh="10364   " zp="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" />
<RYZPK xmlns="x-schema:#Schema1" id="19" gh="07044   " zp="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" />

 

可以看出zp字段直接解析为文本了。

使用SELECT * FROM RYZPK for xml auto,binary base64生成的架构文件如下:

ContractedBlock.gif ExpandedBlockStart.gif Codebase64xsd
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ryzpk_base64" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
<xs:annotation>
    
<xs:appinfo>
      
<msbtssql:sqlScript value="SELECT * FROM RYZPK for xml auto ,binary base64" xmlns:msbtssql="http://schemas.microsoft.com/BizTalk/2003" />
    
</xs:appinfo>
  
</xs:annotation>
  
<xs:element name="ryzpk_base64">
    
<xs:complexType>
      
<xs:sequence>
        
<xs:element minOccurs="0" maxOccurs="unbounded" name="RYZPK" xmlns:q1="http://ryzpk_base64" type="q1:RYZPKType" />
      
</xs:sequence>
    
</xs:complexType>
  
</xs:element>
  
<xs:complexType name="RYZPKType">
    
<xs:attribute name="id" type="xs:long" />
    
<xs:attribute name="gh" type="xs:string" />
    
<xs:attribute name="zp" type="xs:base64Binary" />
    
<xs:attribute name="qr" type="xs:short" />
    
<xs:attribute name="sfzh" type="xs:string" />
    
<xs:attribute name="xm" type="xs:string" />
    
<xs:attribute name="photopath" type="xs:string" />
  
</xs:complexType>
</xs:schema>

可以看出image字段zp类型为xs:base64Binary
如图3:

1.3 但是更新SQL SERVER

 没法以字符串形式更新二进制字段,生成的更新该表架构文件如下:

 

ContractedBlock.gif ExpandedBlockStart.gif CodeTarget
<?xml version="1.0"?>
<xs:schema xmlns:tns="http://ryzpk_target" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ryzpk_target" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
<xs:element name="ryzpk_target_root">
    
<xs:complexType>
      
<xs:sequence>
        
<xs:element xmlns:updategram="urn:schemas-microsoft-com:xml-updategram" updategram:Prefix="updg" minOccurs="1" maxOccurs="unbounded" name="sync">
          
<xs:complexType>
            
<xs:sequence>
              
<xs:element updategram:Prefix="updg" minOccurs="0" maxOccurs="unbounded" name="before">
                
<xs:complexType>
                  
<xs:sequence>
                    
<xs:element minOccurs="0" maxOccurs="unbounded" name="RYZPK">
                      
<xs:complexType>
                        
<xs:attribute name="id" type="xs:long" />
                        
<xs:attribute name="gh" type="xs:string" />
                        
<xs:attribute name="zp" type="xs:anyURI" />
                        
<xs:attribute name="qr" type="xs:short" />
                        
<xs:attribute name="sfzh" type="xs:string" />
                        
<xs:attribute name="xm" type="xs:string" />
                        
<xs:attribute name="photopath" type="xs:string" />
                      
</xs:complexType>
                    
</xs:element>
                  
</xs:sequence>
                
</xs:complexType>
              
</xs:element>
              
<xs:element updategram:Prefix="updg" minOccurs="0" maxOccurs="unbounded" name="after">
                
<xs:complexType>
                  
<xs:sequence>
                    
<xs:element minOccurs="0" maxOccurs="unbounded" name="RYZPK">
                      
<xs:complexType>
                        
<xs:attribute name="id" type="xs:long" />
                        
<xs:attribute name="gh" type="xs:string" />
                        
<xs:attribute name="zp" type="xs:anyURI" />
                        
<xs:attribute name="qr" type="xs:short" />
                        
<xs:attribute name="sfzh" type="xs:string" />
                        
<xs:attribute name="xm" type="xs:string" />
                        
<xs:attribute name="photopath" type="xs:string" />
                      
</xs:complexType>
                    
</xs:element>
                  
</xs:sequence>
                
</xs:complexType>
              
</xs:element>
            
</xs:sequence>
          
</xs:complexType>
        
</xs:element>
      
</xs:sequence>
    
</xs:complexType>
  
</xs:element>
  
<xs:element name="ryzpk_target_response">
    
<xs:complexType>
      
<xs:sequence>
        
<xs:element name="Success" />
      
</xs:sequence>
    
</xs:complexType>
  
</xs:element>
</xs:schema>

 

 如图 :

2 ORACLE

  使用Microsoft BizTalk Adapter for Oracle(r) Database适配器,
  表结构如下

 

ContractedBlock.gif ExpandedBlockStart.gif Codeoracle
  create table TB_ZP
(
  PSNNO         
VARCHAR2(20not null,
  PIDCLASS      
VARCHAR2(1not null,
  PIC           BLOB,
  CREATION_DATE 
VARCHAR2(10),
  SJC           
TIMESTAMP(6),
  SCBJ          
CHAR(1)
)
2.1 导出的架构文件如下:

 

ContractedBlock.gif ExpandedBlockStart.gif CodeOraclexsd
<?xml version="1.0"?>
<xsd:schema xmlns:TB_ZP="http://schemas.microsoft.com/[OracleDb://coredb/SHAREDB/Tables/TB_ZP]" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/[OracleDb://coredb/SHAREDB/Tables/TB_ZP]" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
<xsd:element name="Query">
    
<xsd:complexType>
      
<xsd:sequence>
        
<xsd:element name="Filter" type="xsd:string" />
        
<xsd:element name="MaxRows" type="xsd:int" />
      
</xsd:sequence>
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:complexType name="QueryRecord">
    
<xsd:sequence>
      
<xsd:element name="PSNNO">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="20" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element name="PIDCLASS">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="1" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="PIC" nillable="true" type="xsd:base64Binary" />
      
<xsd:element minOccurs="0" name="CREATION_DATE" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="10" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="SJC" nillable="true" type="xsd:dateTime" />
      
<xsd:element minOccurs="0" name="SCBJ" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="1" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element name="ROWID">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="18" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
    
</xsd:sequence>
  
</xsd:complexType>
  
<xsd:complexType name="QueryRecordSet">
    
<xsd:sequence>
      
<xsd:element minOccurs="0" maxOccurs="unbounded" name="QueryRecord" type="TB_ZP:QueryRecord" />
    
</xsd:sequence>
  
</xsd:complexType>
  
<xsd:element name="QueryResponse">
    
<xsd:complexType>
      
<xsd:sequence>
        
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Return" type="TB_ZP:QueryRecordSet" />
      
</xsd:sequence>
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:complexType name="InsertRecord">
    
<xsd:sequence>
      
<xsd:element name="PSNNO">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="20" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element name="PIDCLASS">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="1" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="PIC" nillable="true" type="xsd:base64Binary" />
      
<xsd:element minOccurs="0" name="CREATION_DATE" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="10" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="SJC" nillable="true" type="xsd:dateTime" />
      
<xsd:element minOccurs="0" name="SCBJ" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="1" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
    
</xsd:sequence>
  
</xsd:complexType>
  
<xsd:complexType name="InsertRecordSet">
    
<xsd:sequence>
      
<xsd:element minOccurs="0" maxOccurs="unbounded" name="InsertRecord" type="TB_ZP:InsertRecord" />
    
</xsd:sequence>
  
</xsd:complexType>
  
<xsd:element name="Insert">
    
<xsd:complexType>
      
<xsd:sequence>
        
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Rows" type="TB_ZP:InsertRecordSet" />
      
</xsd:sequence>
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:element name="InsertResponse">
    
<xsd:complexType>
      
<xsd:sequence />
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:complexType name="UpdateRecord">
    
<xsd:sequence>
      
<xsd:element minOccurs="0" name="PSNNO" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="20" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="PIDCLASS" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="1" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="PIC" nillable="true" type="xsd:base64Binary" />
      
<xsd:element minOccurs="0" name="CREATION_DATE" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="10" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="SJC" nillable="true" type="xsd:dateTime" />
      
<xsd:element minOccurs="0" name="SCBJ" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="1" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
    
</xsd:sequence>
  
</xsd:complexType>
  
<xsd:element name="Update">
    
<xsd:complexType>
      
<xsd:sequence>
        
<xsd:element name="Record" type="TB_ZP:UpdateRecord" />
        
<xsd:element name="Filter" type="xsd:string" />
      
</xsd:sequence>
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:element name="UpdateResponse">
    
<xsd:complexType>
      
<xsd:sequence>
        
<xsd:element name="Return" type="xsd:int" />
      
</xsd:sequence>
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:element name="Remove">
    
<xsd:complexType>
      
<xsd:sequence>
        
<xsd:element name="Filter" type="xsd:string" />
      
</xsd:sequence>
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:element name="RemoveResponse">
    
<xsd:complexType>
      
<xsd:sequence>
        
<xsd:element name="Return" type="xsd:int" />
      
</xsd:sequence>
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:complexType name="EventRecord">
    
<xsd:sequence>
      
<xsd:element name="PSNNO">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="20" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element name="PIDCLASS">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="1" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="PIC" nillable="true" type="xsd:base64Binary" />
      
<xsd:element minOccurs="0" name="CREATION_DATE" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="10" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element minOccurs="0" name="SJC" nillable="true" type="xsd:dateTime" />
      
<xsd:element minOccurs="0" name="SCBJ" nillable="true">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="1" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
      
<xsd:element name="ROWID">
        
<xsd:simpleType>
          
<xsd:restriction base="xsd:string">
            
<xsd:maxLength value="18" />
          
</xsd:restriction>
        
</xsd:simpleType>
      
</xsd:element>
    
</xsd:sequence>
  
</xsd:complexType>
  
<xsd:complexType name="OnUpdatedRecordSet">
    
<xsd:sequence>
      
<xsd:element minOccurs="0" maxOccurs="unbounded" name="EventRecord" type="TB_ZP:EventRecord" />
    
</xsd:sequence>
  
</xsd:complexType>
  
<xsd:element name="TableChangeEvent">
    
<xsd:complexType>
      
<xsd:sequence>
        
<xsd:element minOccurs="0" maxOccurs="unbounded" name="UpdatedRows" type="TB_ZP:OnUpdatedRecordSet" />
      
</xsd:sequence>
    
</xsd:complexType>
  
</xsd:element>
  
<xsd:element name="TableChangeEventResponse">
    
<xsd:complexType>
      
<xsd:sequence />
    
</xsd:complexType>
  
</xsd:element>
</xsd:schema>

 

BLOB字段PIC本身就是xsd:base64Binary类型
<xsd:element minOccurs="0" name="PIC" nillable="true" type="xsd:base64Binary" />

如图:

3 数据交换

从上面的分析可以看出

ORACLE为源时,可以以字符串形式base64编码方式读出;ORACLE为目标库时,也可以用base64编码的字符串更新目标字段,看来到现在为止,ORACLE还是很好很强大的。SQL为源,也可以以字符串形式base64编码方式读出,只有一个问题比较棘手,就是SQL SERVER为目标库时,如何更新目标二进制字段。

因为不能直接用base64编码的文本直接去更新该二进制字段,否则会报错。我曾经试着直接将该字段的架构类型改为xsd:base64Binary,结果是一样的。

主要原因是,SQL SERVER中未提供自动通过字符更新二进制字段的方法。而biztalk是基于xml文件的,里面不可能直接保存二进制字符。

解决方法

 

本人做到的是一个ORACLE到SQL SERVER的交换,有个字段为二进制,保存的是照片信息。
思路如下:
从ORACLE获得xml的消息,里面通过base64编码保存了一个二进制字段信息。
BIZTALK更新SQL SERVER 时,通过一个能接收base64编码字符串的存储过程,接收到该消息。
改存储过程将该消息中的二进制字段,即base64编码字符串解码成二进制字符,更新目标表中的字段。

值得注意的是:ORACLE出来的base64可能有点喝SQL SERVER的base64有点不同,通过以下转换(从代码看,貌似是无用功),可以成功。

 

ContractedBlock.gif ExpandedBlockStart.gif Code
public string ConvertOracleToSQL(System.String Base64)
{            
     
byte[] Picture=System.Convert.FromBase64String(Base64);
     
string Pic = System.Convert.ToBase64String(Picture);
     
return Pic;
}

 

 

 

 

 SQL SERVER 中的用户函数,用于通过baseb64编码字符串转换为二进制字符串

 

ContractedBlock.gif ExpandedBlockStart.gif CodeFUN
CREATE FUNCTION [dbo].[base64toBin] (@bin64raw varchar(MAX)) 
RETURNS varbinary(MAX
AS 
BEGIN 
 
declare @out varbinary(MAX
 
declare @i int 
 
declare @length int 
 
declare @bin64char char(1
 
declare @bin64rawval tinyint 
 
declare @bin64phase tinyint 
 
declare @bin64nibble1 tinyint 
 
declare @bin64nibble2 tinyint 
 
declare @bin64nibble3 tinyint 
 
SELECT @bin64phase = 0 
 
SELECT @i = 1 
 
SELECT @length = len(@bin64raw
 
if right(@bin64raw1<> '='
  
set @length = @length + 1
 
WHILE @i < @length 
 
BEGIN 
  
SELECT @bin64char = substring(@bin64raw,@i,1
  
BEGIN           
   
IF ASCII(@bin64charBETWEEN 65 AND 90 
    
SELECT @bin64rawval = ASCII(@bin64char)-65 
   
ELSE 
    
IF @bin64char LIKE '[a-z]' 
     
SELECT @bin64rawval = ASCII(@bin64char)-71 
    
ELSE 
     
IF @bin64char LIKE '[0-9]' 
      
SELECT @bin64rawval = ASCII(@bin64char)+4 
     
ELSE             
      
IF @bin64char = '+' 
       
SELECT @bin64rawval = ASCII(@bin64char)+19 
      
ELSE                     
       
IF @bin64char = '/' 
        
SELECT @bin64rawval = ASCII(@bin64char)+16 
       
ELSE 
       
BEGIN 
        
SELECT @bin64rawval = 0 
        
SELECT @i = @length-1 
       
END 
  
END
  
IF @bin64phase = 0 
  
BEGIN 
   
SELECT @bin64nibble1 = (@bin64rawval - @bin64rawval%4)/4 
   
SELECT @bin64nibble2 = @bin64rawval%4 
   
SELECT @bin64nibble3 = 0 
  
END 
  
ELSE 
   
IF @bin64phase =1   
   
BEGIN 
    
SELECT @bin64nibble2 = (@bin64nibble2*4+ (@bin64rawval - @bin64rawval%16)/16 
    
SELECT @bin64nibble3 = @bin64rawval%16 
    
IF @i<5 
     
SELECT @out= convert (binary(1),((16*@bin64nibble1+ @bin64nibble2)) 
    
ELSE                                             
     
SELECT @out= @out + convert (binary(1),((16*@bin64nibble1+ @bin64nibble2)) 
   
END
   
ELSE 
    
IF @bin64phase =2   
    
BEGIN 
     
SELECT @bin64nibble1 = @bin64nibble3 
     
SELECT @bin64nibble2 = (@bin64rawval - @bin64rawval%4)/4 
     
SELECT @bin64nibble3 = @bin64rawval%4 
     
SELECT @out=@out+ convert (binary(1),((16*@bin64nibble1+ @bin64nibble2)) 
    
END 
    
ELSE 
     
IF @bin64phase =3 
     
BEGIN 
      
SELECT @bin64nibble1 = (@bin64nibble3*4+ (@bin64rawval - @bin64rawval%16)/16 
      
SELECT @bin64nibble2 = @bin64rawval%16 
      
SELECT @out=@out+ convert (binary(1),((16*@bin64nibble1+ @bin64nibble2)) 
    
END
  
SELECT @bin64phase = (@bin64phase + 1)%4 
  
SELECT @i = @i + 1 
 
END 
 
RETURN(@out
END

 

目标更新表的SP如下

 

ContractedBlock.gif ExpandedBlockStart.gif CodeSP
CREATE PROCEDURE [dbo].[BX_SP_RyzpkImage]
    
@Base64Parameter varchar(MAX),
    
@GH varchar(8),
    
@SCBJ varchar(4)
AS
declare @img varbinary(MAX)
BEGIN TRY
    
BEGIN TRAN
        
select @img = dbo.base64toBin(@Base64Parameter)
        
delete from RYZPK where GH=@GH
        
if(@SCBJ='N')
            
Insert into RYZPK(ZP,GH)values(@img,@GH )
        
Else
            
delete from RYZPK where GH=@GH
    
COMMIT TRAN
END TRY
BEGIN CATCH
    
ROLLBACK
END CATCH

 

 

 

转载于:https://www.cnblogs.com/pengyq/archive/2009/11/12/1601978.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ORACLE和SQL SERVER数据交换的二进制问题 的相关文章

  • 验证 sql/oracle 中的电子邮件/邮政编码字段

    对于以下方面的一些建议将不胜感激 是否可以通过 oracle 中的 sql 中的某种检查约束来验证电子邮件和邮政编码字段 或者我怀疑 pl sql 带有正则表达式的这种事情 Thanks 这是电子邮件地址的正则表达式语法 包括引号 a zA
  • Postgresql 串行错误自动增量

    我在 postgresql 上遇到问题 我认为 postgresql 中有一个错误 我错误地实现了一些东西 有一个表包括colmn1 primary key colmn2 unique colmn3 插入一行后 如果我尝试使用现有的另一次插
  • Postgres LIMIT/OFFSET 奇怪的行为

    我正在使用 PostgreSQL 9 6 我有一个这样的查询 SELECT anon 1 id AS anon 1 id anon 1 is valid AS anon 1 is valid anon 1 first name AS ano
  • 将图像列保存到 SQL Server 2000 中的文件

    我在 SQL Server 2000 中有一个包含图像列的表 我需要将图像数据保存到文件系统上的文件中 在 SQL Server 2005 中 我可以使用 ADODB Stream 对象进行文件 I O 但这在 SQL Server 200
  • 唯一约束与唯一索引?

    之间有区别吗 CREATE TABLE p product no integer name text UNIQUE price numeric and CREATE TABLE p product no integer name text
  • 如何将 sql 数据输出到 QCalendarWidget

    我希望能够在日历小部件上突出显示 SQL 数据库中的一天 就像启动程序时突出显示当前日期一样 在我的示例中 它是红色突出显示 我想要发生的是 当用户按下突出显示的日期时 数据库中日期旁边的文本将显示在日历下方的标签上 这是我使用 QT De
  • 合并sql中的列

    我正在使用 SQL Server 2017 有一个存储过程 其中我有一个带有连接的简单选择 例如 SELECT p legacyKey AS JobNumber p Name AS JobName G Label AS DesignStat
  • REGEXP_REPLACE - 仅当包含在 () 中时才从字符串中删除逗号

    我在 oracle 论坛网站找到了一个例子 输入字符串 a b c x y z a xx yy zz x WITH t AS SELECT a b c x y z a xx yy zz x col1 FROM dual SELECT t c
  • RANK() OVER PARTITION 并重置 RANK

    如何获得在分区更改时重新启动的 RANK 我有这张表 ID Date Value 1 2015 01 01 1 2 2015 01 02 1
  • 最近邻居的 Postgis SQL

    我正在尝试计算最近的邻居 为此 我需要传递一个参数来限制与邻居的最大距离 例如 半径1000米内最近的邻居是哪些 我做了以下事情 我用数据创建了表 id name latitude longitude 之后 我执行了以下查询 SELECT
  • 在 SQL 中按键组对行进行顺序编号?

    SQL中有没有办法按顺序添加行号按关键组 假设一个表包含任意 CODE NAME 元组 示例表 CODE NAME A Apple A Angel A Arizona B Bravo C Charlie C Cat D Dog D Dopp
  • SQL 约束最小值/最大值?

    有没有办法为数字字段设置 SQL 约束 最小值应为 1234 最大值应为 4523 SQL Server 语法为the check约束 http technet microsoft com en us library ms179491 as
  • MySQL LIKE %string% 不够宽容。我还有什么可以用的吗?

    我有一位客户询问他们的搜索是否可以搜索公司名称 这些名称可以根据用户输入以多种格式进行搜索 例如数据库中存储的公司是 A J R Kelly Ltd 如果用户搜索 一个 J R Kelly 被发现 使用
  • ORA-00933 与内部联接和“as”混淆

    我有一个使用以下命令从两个表中获取数据的查询inner join 但我收到错误SQL command not properly ended as 下面有一个星号 select P carrier id O order id O aircra
  • 使用 Hibernate 将 Oracle 日期映射到 Java 对象

    我收到消息 文字与格式字符串不匹配 例如 以下是 Java 类中的一些方法 public String getDateTime public void setDateTime String date time 以下是该类的 Hibernat
  • 我应该使用平面表还是标准化数据库?

    我目前正在开发一个使用 MySQL 数据库作为后端的 Web 应用程序 在继续下一步之前 我需要知道什么更适合我的情况 简而言之 在这个应用程序中 用户将能够使用任何数字字段 他们决定 构建自己的表单 现在我将其全部存储在通过外键链接的几个
  • SQL UPDATE 语句根据另一个现有行更新列

    基本上我有一个与下表具有相似格式的表格 我想做的是根据这个逻辑更新 Col4 如果 Col2 为空 则用 Col3 更新 Col4 如果 Col2 不为 null 则在 Col1 中查找与 Col2 中的值匹配的值 使用 col3 中的相应
  • 使用 .NET 中的类型化数据集将 SQL 参数传递给 IN() 子句

    首先道歉 因为该网站上有类似的问题 但没有一个直接回答这个问题 我在 VS 2010 中使用类型化数据集 我在数据集中创建一个 TableAdapter 查询如下 SELECT from Table WHERE ID IN IDs 现在如果
  • 如何更新 pl/sql 中嵌套表的列? [复制]

    这个问题在这里已经有答案了 我正在尝试在表中创建一个可以存储多个值的列 如下所示 我有一个学生id std和一个名为marks可以采用几个值 例如2 3 4 我想更新此列表以添加另一个标记2 3 4 5但我不知道怎么做 我如何更新专栏mar
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个

随机推荐

  • debian中文字体美化

    为什么80 的码农都做不了架构师 xff1f gt gt gt 1 安装必要的字体包 Debian 和 Ubuntu 下对中文支持比较好的字体有 xff1a ttf droid ttf wqy zenhei和ttf wqy microhei
  • Kindeditor上传失败问题解决

    xff08 问题关键词 xff1a kindeditor 上传图片失败 kindeditor上传图片成功 xff0c 但是页面上却提示失败 kindeditor得到Json正确 xff0c 确提示失败 xff09 今天又遇到了一个比较无奈的
  • bash ps1变量_学习鸟哥私房菜--linux bash 的环境变量ps1设置

    bash里边的变量ps1是用户平时的提示符 xff0c 系统默认为 username 64 host 工作目录 关于ps1的相关介绍详见 xff1a http www cnblogs com starspace archive 2009 0
  • 人工智能让生活更美好

    人 I 工 I 智 I 能 I到 I来 科 I技 I大 I门 打 I 开 提起人工智能 你会想到什么 阿尔法围棋 浪潮天梭象棋 甚至会想到 大白 吧啦啦啦 史密斯电影 我 机器人 科技一直推动社会的变化 技术的飞速更迭与人类移动网络化的行为
  • 解压命令linux tgz,tar 解压_linux中的“tar命令”怎么解压“.tgz”与“.tar.gz”文件?...

    在LINUX下如何将tar压缩文件解压到指定的目录下 一 解压 tar gz格式到指定的目录下 xff1a 命令格式为 xff1a tar zxvf 压缩包文件名 tar gz C 路径 例如 xff1a tar zxvf japan ta
  • ssh证书登录(实例详解)

    前言 本文基于实际Linux管理工作 xff0c 实例讲解工作中使用ssh证书登录的实际流程 xff0c 讲解ssh证书登录的配置原理 xff0c 基于配置原理 xff0c 解决实际工作中 xff0c windows下使用SecureCRT
  • 常用滤波算法搜集

    一 十一种通用滤波算法 转 1 限幅滤波法 xff08 又称程序判断滤波法 xff09 A 方法 xff1a 根据经验判断 xff0c 确定两次采样允许的最大偏差值 xff08 设为A xff09 每次检测到新值时判断 xff1a 如果本次
  • 静态路由和默认路由的配置实战及其区别--很详细哦

    静态路由和默认路由的配置实战及其区别 一 xff1a 实验拓扑 二 xff1a 实验要求 1 xff1a 实现全网互通 2 xff1a 实现静态路由与动态路由的区别认识 3 xff1a 熟练掌握其配置命令 三 xff1a 实验步骤 第一步
  • MVC3学习:利用mvc3+ajax实现全选和批量删除

    本例数据库操作使用EF code first 先利用mvc自带的模板 xff0c 先生成一个list视图 xff0c 然后再手动添加复选框和删除按钮 lt table gt lt tr gt 64 在标题行添加一个全选按钮 64 lt th
  • 解决FAT32格式U盘安装win10时0x8007000D错误

    问题由来 我一直使用U盘 xff0c UltraISO软碟通和msdn原版镜像来装系统 最近在把Win10 1709升级为1803时遇到了问题 同样也是使用UltraISO刻录镜像到U盘的方法安装的 xff0c 这次从U盘启动安装时 xff
  • error: /lib64/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux-...

    sudo yum install libnotify Loaded plugins fastestmirror refresh packagekit security Setting up Install Process Repositor
  • 域组策略--+域控中组策略基本设置

    域控中组策略基本设置 计算机配置 xff1a 要重启生效 用户配置 xff1a 注销生效 策略配置后要刷新 xff1a gpupdate force 组策略编辑工具 xff01 gpmc msi xff08 工具 xff09 使用 xff1
  • a 链接 download 不生效问题

    众所周知 xff0c 在 HTML5 中 xff0c A 标签是支持 download 属性的 xff0c 此属性指示浏览器下载 URL 而不是导航到它 xff0c 但是该属性受到同源策略的限制 那么我们如何让 A 标签在跨域场景下依然有效
  • 【linux】创建新用户,并且指定用户ID,基本组,附加组(指定组号)

    1 创建用户 xff0c 必须先创建附加组 创建附加组 组名 xff1a fujia1 fujia2 GID 5005 5006 2 创建基本组 xff1a 组名 xff1a basicgp 3 创建用户 xff1a 用户名 xff1a n
  • 101个shell脚本

    本文用于记录学习和日常中使用过的shell脚本 脚本1 打印形状 打印等腰三角形 直角三角形 倒直角三角形 菱形 bin bash 等腰三角形 read p 34 Please input the length 34 n for i in
  • java生成PDF-支持中文及图片

    java生成PDF 支持中文及图片 PDF效果图 先弄出一个html 本地跟目录下放一个x html 内容如下 my name is walter I am red man 这是一句中文 this is a image 注意 xff1a h
  • 余士维讲座中的十八个故事[转载]

    No1 善于倾听 曾经有个小国到中国来 xff0c 进贡了三个一模一样的金人 xff0c 金壁辉煌 xff0c 把皇帝高兴坏了 可是这小国不厚道 xff0c 同时出一道题目 xff1a 这三个金人哪个最有价值 xff1f 皇帝想了许多的办法
  • GetWindowLong说明及应用

    窗口类的封装 从全局窗口消息处理到窗口对象消息处理的映射方法 xff1a 对界面进行封装 xff0c 一般都是一个窗口一个类 xff0c 比如实现一个最基本的窗口类CMyWnd xff0c 你一定会把窗口过程作为这个类的成员函数 xff0c
  • 理解数组

    什么是数组 xff1f 简单来说数组代表一块连续的内存 xff0c 内部包含连续的一排相同的对象 xff0c 因为内存分布连续且对象大小相同 xff0c 所以我们可以高效的根据索引随机访问和赋值 数组是我们平时用的最多的数据结构 xff0c
  • ORACLE和SQL SERVER数据交换的二进制问题

    用BIZTALK交换数据也有不少时间了 xff0c 主要是SQL SERVER 和ORACLE之间数据交互 xff0c 同时还有 webservice xff0c file xff0c smtp xff0c pop xff0c ftp xf