c# - 关于 Sybase 镜像

标签 c# asp.net service sap-ase

在sybase中图像数据类型是否转换为字节数组? 我应用网络服务来获取 sybase 中的数据集(图像数据类型)。 我使用 byte[] 来获取 Web 服务的返回。 然后我使用“response.binarywrite(byte[])”来显示图像。(ASP.NET C#) 但是有一个图像失真的问题(当我放大图像时,一些点被遗漏了)。 我不知道为什么 有谁知道sybase中的图片数据类型可以转字节数组吗?

Original Image

Distortion Image

系统:

1 个赛贝斯

    Sybase db: 11.9.2

    Adaptive server enterprise 12.5.1

    Sybase.Data.AseClient:1.0.152.0

2 ASP.NET C#(Visual Studio 2008)

3 IE6

最佳答案

终于,我找到了答案。 这个问题的原因是在Sybase 中访问图像大小的限制。当图片大于37k字节时,输出还是37K。因此,我在这一步中错过了一些字节。解决方案是您需要设置参数以检索所有数据。 部分代码如下:

    [WebMethod]
    public byte[] Image(string c, string r)
    {
       //check input ..
        ConnectionDatabase connbaseloc = new ConnectionDatabase();
        AseConnection conn1 = null;
        AseCommand cmd1 = null;
        string sqlstr1 = "";
        AseDataReader reader = null;
        byte[] Imagebytes = null;
        try
        {
            using (conn1 = connbaseloc.Odbcconn_xxx())
            {
                string setTextCmd = " SET TEXTSIZE 130000"; //set parameter
                cmd1 = new AseCommand(setTextCmd, conn1);
                cmd1.ExecuteNonQuery();
                sqlstr1 = "select ....";
                cmd1 = new AseCommand(sqlstr1, conn1);
                cmd1.CommandText = sqlstr1;
                reader = cmd1.ExecuteReader();
                while (reader.Read())
                {
                    Imagebytes = (byte[])reader["Image"];
                }
            }
        }
        catch (Exception e)
        {
            //do something
        }
        finally
        {
            if (conn1 != null) conn1.Close();
        }

        return Imagebytes;
    }

参数值取决于您的图像的最大尺寸。

关于c# - 关于 Sybase 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1824615/

相关文章:

c# - 如何禁用饼图中的标签和线条?

asp.net - 在开发中禁用 ScriptManager 脚本整合?

android - 当 Activity 被杀死时,未绑定(bind)的服务被破坏

android - 如何显示服务中的对话框?

c# - NetworkStream 截断了我的数据?

c# - C# 中对象的名义存储分配

c# - 如何防止调试器在暂停时调用某些源代码?

c# - 访问 gridview 隐藏域

c# - 电子邮件正文格式问题

Grails如何在 Controller 上调用MyUserDetailsS​​ervice?