Newb提出问题。
我正在本地运行MySQL,而且我很难用C#连接它。
这是我正在使用的代码,我尝试过的很多内容都被注释掉了:
using System;
using System.Collections.Generic;
//using System.Data.Common.DbConnection;
using System.Threading;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Threading;
namespace mvpde
{
class Program
{
class DataReader_SQL
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: Add code to start application here
//
try
{
OleDbConnection con = new OleDbConnection(@"Provider=sqloledb;Data Source=127.0.0.1:3306;database=database_name;User id=id;Password=password;");
con.Open();
//Thread.Sleep(9999);
//SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
//builder.DataSource = "localhost";
//builder.UserID = "hello";
//builder.Password = "password";
//builder.InitialCatalog = "db_123";
//SqlConnection thisConnection = new SqlConnection(builder.ToString());
//thisConnection.Open();
//SqlCommand thisCommand = thisConnection.CreateCommand();
//thisCommand.CommandText = "SELECT CustomerID, CompanyName FROM Customers";
//SqlDataReader thisReader = thisCommand.ExecuteReader();
//while (thisReader.Read())
//{
// Console.WriteLine("\t{0}\t{1}", thisReader["CustomerID"], thisReader["CompanyName"]);
//}
//thisReader.Close();
//thisConnection.Close();
}
catch (SqlException e)
{
Console.WriteLine(e.Message);
Thread.Sleep(9999999);
}
}
}
}
}
我几乎逐字复制了它,并试图让它从this site开始工作。
我在Windows 7上安装了MySQL - 我创建了用户和我正在尝试访问的数据库,我可以使用MySQL自己的MySQL Workbench 5.2 CE软件完成所有这些工作。我似乎不知道我正在使用C#连接到它。
我想要的只是连接到它并发送一个简单的查询,如“USE DATABASE somedb”,然后“SELECT TABLE sometable”。
我得到的错误: 起初(当我使用WAMP时,在从mysql网站安装MySQL包之前)我可以连接一次并看到登录错误;在那之后,好像连接没有正确关闭,我甚至无法达到那么远) 既然我正在尝试连接到由MySQL自己的软件(或运行mysqld.exe)创建的MySQL实例,我所得到的只是超时问题\服务器未找到\无法访问。
问题:
我使用错误的课程吗?
与“Provider =”有什么关系?字符串该部分的所有可用变量的列表在哪里?这是什么意思?为什么涉及的名字如此神秘?
我想连接到本地运行的MySQL服务器应该是轻而易举的,但我不知道我在做什么。
谢谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
您无法使用SQL Connection对象。您需要一个可在此库中使用的MySQL Connection对象.http://www.connectionstrings.com/mysql
下载MySQL连接库并使用网站上提供的连接字符串之一。
using MySql.Data.MySqlClient;
MySqlConnection myConnection = new MySqlConnection;();
myConnection.ConnectionString = myConnectionString;
myConnection.Open();
//execute queries, etc
myConnection.Close();
然后使用连接对象初始化连接字符串并连接到MySQL
答案 2 :(得分:1)
你应该使用MySql / Connector for DotNet
在this address下载,然后相应地更改您的连接字符串
例如“Server = 127.0.0.1; Database = database_name; Uid = id; Pwd = password; Port = 3306”
有关MySQL的其他选项,请查看www.connectionstrings.com