从GBASE南大通用数据库中读取BLOB 数据写入到一个文件

下面的代码从上一节GBASE南大通用数据库中创建的 file表中获得一行,并将数据写入到GBASE南大通用的文件中。

C# 示例:

using System;

using System.IO;

using GBase.Data.GBaseClient;

namespace UsingGBase

{class Program

{

static void Main(string[] args)

{

GBaseDataReader gsData;

GBaseConnection conn = new GBaseConnection();

GBaseCommand cmd = new GBaseCommand();

string SQL;

int FileSize;

byte[] rawData;

FileStream fs;

conn.ConnectionString =

"server=192.168.5.41;uid=root;pwd=1;database=test;pooling=false";

SQL = "SELECT file_name, file_size, file FROM file";

try

{

conn.Open();

cmd.Connection = conn;

cmd.CommandText = SQL;

gsData = cmd.ExecuteReader();

if (!gsData.HasRows)

throw new Exception("There are no BLOBs to

save");

gsData.Read();

FileSize =

(int)gsData.GetUInt32(gsData.GetOrdinal("file_size"));

rawData = new byte[FileSize];

gsData.GetBytes(gsData.GetOrdinal("file"), 0,

rawData, 0, FileSize);

fs = new FileStream(@"C:\newfile.png",

FileMode.OpenOrCreate, FileAccess.Write);

fs.Write(rawData, 0, FileSize);

fs.Close();

Console.WriteLine("File successfully written to

disk!");

gsData.Close();

conn.Close();

}

catch (GBaseException ex)

{

Console.WriteLine("Error " + ex.Number + " has

occurred: " + ex.Message);

}

}

}

}

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值