10bet网址
连接器和api手册
下载本手册

4.5.11使用MySqlBulkLoader类

MySQL Connector/NET提供了一个打包MySQL语句的批量加载器类加载数据文件.这使得Connector/NET能够将数据文件从本地或远程主机加载到服务器。所涉及的类别是MySqlBulkLoader.这个类有各种方法,主要的方法是负载使指定的文件加载到服务器。可以设置各种参数来控制如何处理数据文件。这可以通过设置类的各种属性来实现。例如,可以指定使用的字段分隔符(如逗号或制表符)以及记录结束符(如换行符)。

属性的一个简单示例MySqlBulkLoader类。首先需要创建一个空表,在本例中为测验数据库。

CREATE TABLE Career (Name VARCHAR(100) NOT NULL, Age INTEGER, Profession VARCHAR(200))

还创建了一个简单的以制表符分隔的数据文件(它可以使用任何其他字段分隔符,如逗号)。

表职业测试数据库姓名年龄职业托尼47技术作家安娜43护士弗雷德21 IT专家西蒙45毛机车手

对于这个测试文件,需要忽略前三行,因为它们不包含表数据。可以使用NumberOfLinesToSkip财产。然后可以加载此文件并使用它来填充职业生涯表中的测验数据库。

请注意

从Connector/NET 8.0.15开始,当地的属性必须设置为真正的显式地启用本地文件功能。以前的版本将此值设置为真正的默认情况下。

使用系统;使用text;使用MySql.Data;使用MySql.Data.MySqlClient;namespace ConsoleApplication1 {class Program {static void Main(string[] args) {string connStr = "server=localhost;user=root;database=test;port=3306;password=******";MySqlConnection conn = new MySqlConnection(connStr);MySqlBulkLoader bl = new MySqlBulkLoader(conn);bl.Local = true;bl.TableName = "职业";bl.FieldTerminator = "\t"; bl.LineTerminator = "\n"; bl.FileName = "c:/career_data.txt"; bl.NumberOfLinesToSkip = 3; try { Console.WriteLine("Connecting to MySQL..."); conn.Open(); // Upload data from file int count = bl.Load(); Console.WriteLine(count + " lines uploaded."); string sql = "SELECT Name, Age, Profession FROM Career"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(rdr[0] + " -- " + rdr[1] + " -- " + rdr[2]); } rdr.Close(); conn.Close(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Console.WriteLine("Done."); } } }

进一步资料加载数据文件可在LOAD DATA声明.进一步资料MySqlBulkLoader可以在连接器附带的参考文档中找到。10bet官方网站