如何使用 gzip basXml 作为 python 格式反编译 SAP ERP 中的 blob 字段

How to decompile the blob fields in a SAP ERP using gzip basXml as format with python

提问人:Kneipenwalker 提问时间:11/3/2023 最后编辑:Sandra RossiKneipenwalker 更新时间:11/4/2023 访问量:56

问:

如何使用 gzip basXml 作为 python 格式反编译 SAP ERP 中的 blob 字段?就我而言,我想从 ODQDATA 表中读取字段“xdata”。

我尝试使用 gzip 和 zlib 解压缩对象,但没有成功(BadGzipFile:不是 gzip 文件)。我自己没有更多的想法。

    import zlib
    import gzip
    import base64
    
    jdbcHostname = "xxx"
    jdbcPort = "xx"
    jdbcUrl = f"jdbc:sap://{jdbcHostname}:{jdbcPort}"
    
    jdbcUsername = "xx"
    jdbcPassword = "xx"
    
    query="SELECT * FROM SAPHANADB.ODQDATA LIMIT 1"
    
    df = spark.read \
            .format("jdbc") \
            .option("url", jdbcUrl) \
            .option("query", query) \
            .option("driver", "com.sap.db.jdbc.Driver") \
            .option("user", jdbcUsername) \
            .option("password", jdbcPassword) \
            .load()
    
    #for row in df.collect():
    for row in df.collect():
        blob_data = row["XDATA"]
        data = gzip.decompress blob_data)
python gzip 二进制数据 sap-erp odp

评论

0赞 user1857654 11/3/2023
你如何使用gzip?你能发布你的任何代码吗?decompressed_blobvar = gzip.decompress(blobvar)
0赞 Kneipenwalker 11/3/2023
我已经编辑了第一篇文章。这是我测试中的代码

答: 暂无答案