1、首先从Mysql上面下载Connecter
2、建立数据表
use test;
create table blobtest(
id integer primary key auto_increment,
imgdata mediumblob
);
3、存储文件到Blob字段
MySqlConnection conn = null;
try
{
string connstr = "Database=Test;Data Source=localhost;User Id=root";
conn = new MySqlConnection(connstr);
//conn.Open();
string query = "insert into test.blobtest (imgdata) values (?img)";
string tmp = null;
MySqlCommand cmd = new MySqlCommand(query, conn);
FileStream fs = new FileStream(@"d:\PS8940009M11Y转化机封.dwg", FileMode.Open, FileAccess.Read);
Byte[] bytes = new Byte[fs.Length];
fs.Read(bytes, 0, (int)bytes.Length);
fs.Close();
MySqlParameter param = new MySqlParameter("img",
MySqlDbType.MediumBlob,
(int)bytes.Length,
ParameterDirection.Input,
false,
0,
0,
null,
DataRowVersion.Current,
bytes);
//MySqlParameter param=new MySqlParameter("@img",MySqlDbType.MediumBlob);
//param.Value=bytes;
//cmd.Parameters.AddWithValue("@img",bytes);
cmd.Parameters.Add(param);
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
4、从数据库到处Blob到文件
string connstr = "Database=Test;Data Source=localhost;User Id=root";
MySqlConnection conn = new MySqlConnection(connstr);
MySqlCommand cmd = new MySqlCommand("select imgdata from blobtest where id=15", conn);
MySqlDataReader sdr = null;
conn.Open();
sdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
sdr.Read();
//long startIndex = 0;
//int retval;
//int buffer_len = 1024;
//Byte[] bytes = new Byte[buffer_len];
//FileStream fs = new FileStream(@"d:\a2.dwg", FileMode.OpenOrCreate, FileAccess.Write);
//BinaryWriter writer = new BinaryWriter(fs);
//retval = (int)sdr.GetBytes(0, startIndex, bytes, 0, buffer_len);
//while (retval == buffer_len)
//{
// writer.Write(bytes);
// writer.Flush();
// startIndex += buffer_len;
// retval = (int)sdr.GetBytes(0, startIndex, bytes, 0, buffer_len);
//}
int retval;
FileStream fs = new FileStream(@"d:\a2.dwg", FileMode.OpenOrCreate, FileAccess.Write);
Byte[] bytes = new Byte[(sdr.GetBytes(0, 0, null, 0, int.MaxValue))];
retval = (int)sdr.GetBytes(0, 0, bytes, 0, (int)bytes.Length);
fs.Write(bytes, 0, (int)bytes.Length);
//writer.Close();
sdr.Close();
conn.Close();
//writer.Close();
fs.Close();
5、几个误区
1、同Ado.net不同,MysqlCommand的Parameter的表示是“?”,而不是“@”。
2、ByteFx.Data就是Mysql Connector/Net以前的版本,不建议使用。
相关推荐
完成安装后,Connector/Net会自动注册到你的.NET环境中,使得你的应用程序能够轻松识别并使用MySQL数据源。 【使用示例】 在C#中,你可以通过以下方式创建一个数据库连接: ```csharp using MySql.Data....
ODBC是一种标准的API,使得不同的数据库系统可以通过统一的方式进行访问,因此,无论你使用的是何种编程语言或数据库,只要支持ODBC,就能使用MySQL Connect驱动来连接MySQL数据库。 在描述中提到的"课设用过",...
总的来说,通过深入学习和分析 MySQL Connector/Net 的源代码,开发者不仅可以提升对 .NET 数据访问技术的理解,还能掌握 MySQL 与 .NET 之间的通信机制,为开发更高效、更稳定的应用程序打下坚实基础。
标题“mysql connect for vs2003/2005”指的是在Visual Studio 2003或2005环境下使用MySQL数据库的连接组件。这个组件使得C#开发者能够利用.NET Framework与MySQL服务器进行交互,实现数据的存取和处理。 描述中...
1. **C语言连接MySQL**:在C语言环境中,我们可以使用MySQL提供的C API(应用程序编程接口)来连接和操作数据库。这通常涉及到`mysql_init()`函数初始化MySQL连接环境,`mysql_real_connect()`函数建立到MySQL服务器...
之前MyBatis自动生成的代码都是正常的,但是在测试类中使用Connection进行连接测试并查询数据库时,也是能够正常查询到数据的。 解决方法 解决这个问题的关键是升级mysql-connect-java版本。从MySQL5.1.6升级到...
3. **创建数据目录并设置权限**: ```bash mkdir /opt/platform/data chown -R mysql /opt/platform/data ``` 4. **编辑配置文件`/etc/my.cnf`**: ```ini [mysqld] datadir=/opt/platform/data/mysql socket=...
### 测试MySQL数据库连接(Java) #### 知识点概览 本文将详细介绍如何通过Java程序测试MySQL数据库的连接,并确保数据库配置成功。这涉及到的关键技术包括:Java JDBC API、MySQL JDBC驱动、异常处理机制以及基本...
<br/>10.2.7 MySQL 怎样使用内存 <br/>10.2.8 MySQL 怎样锁定数据库表 <br/>10.2.9 数据库表级锁定的问题 <br/>10.3 使你的数据尽可能小 <br/>10.4 MySQL 索引的使用 <br/>10.5 存取或更新数据的查询速度<br/>...
MySQL连接测试程序是一种基于VC(Visual C++)的软件开发工具,用于通过API接口与MySQL数据库进行交互。在本文中,我们将深入探讨如何利用API方式访问MySQL数据库,并提供查询示例,帮助你理解和掌握相关技术。 ...
4. **启动服务**:使用`mysqld --install`命令安装MySQL服务,然后用`net start MySQL服务名`启动服务。 5. **安全设置**:为了生产环境的安全,建议使用`mysql_secure_installation`命令来设置root用户的密码和...
MySQL Connector/J 8.0.24 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个版本的发布旨在提供更高效、更稳定以及更安全的数据访问功能。以下是对这个...
MySQL Connector/Net是MySQL数据库与.NET应用程序之间的重要桥梁,它是一个完全开源的ADO.NET驱动程序,使得开发人员能够轻松地使用C#、VB.NET或其他.NET语言来连接和操作MySQL数据库。这个压缩包文件包含了不同版本...
我们在主数据库准备了一个 TEST1 库,并且在其中准备一张数据表 TEST 和几条测试数据。 2.2 锁定主数据库 锁定主数据库,只允许读取不允许写入,这样做的目的是防止备份过程中或备份完成之后有新数据插入,导致...
在测试的时候,需要造模拟数据,或者是将生产环境的数据导出到测试环境中去,本文记录通过python读取txt文件,并将数据导入mysql数据库 1、示例代码: import pymysql # 打开数据库连接 conn = pymysql.connect(host...
5. 处理结果集:如果查询返回结果,可以使用`mysql_store_result()`或`mysql_use_result()`来获取结果集。然后,可以使用`mysql_fetch_row()`遍历每一行数据。 6. 关闭连接:完成操作后,记得使用`mysql_close()`...
你需要使用`mysql_connection`类来建立连接,并使用`sql::mysql::MySQL_Driver`类的`get_driver_instance()`方法获取驱动实例。然后通过`connect()`方法设置服务器地址、用户名、密码和数据库名,建立连接。 5. **...
安装了 MySQL Connector/ODBC 后,Windows 用户可以通过数据源名称 (DSN) 配置数据连接,然后在各种应用程序中(如 Microsoft Excel、Access 或 Visual Studio)使用这些连接。 在配置 MySQL Connector/ODBC 时,...
在本压缩包中,包含的是DolphinScheduler的安装包以及MySQL的JDBC连接器,这将帮助用户将DolphinScheduler与MySQL数据库进行集成,实现任务调度的数据存储。 Apache DolphinScheduler 1.3.4是该版本的安装包,名为`...
在本文中,我们将深入探讨如何在CentOS 6.5操作系统环境下,使用C语言编写程序来连接并测试MySQL数据库。这个过程涉及多个关键知识点,包括C编程基础、MySQL数据库接口、CentOS系统管理和配置。 首先,我们需要理解...