我有一个网站。我的数据库是 MySQL,现在我想用 C# 编写一个程序,用户可以使用这个应用程序将他们的文件上传到我的网站
如何将 Windows 中的 C# 程序与 Web 服务器上的 MySQL 数据库连接起来?
您可以将实体框架与MySql 连接器一起使用。这是如何使用它的教程:http: //dev.mysql.com/doc/refman/5.1/en/connector-net-tutorials-entity-framework-winform-data-source.html
作为替代方案,您可以使用 NHibernate: http: //www.codeproject.com/Articles/26123/NHibernate-and-MySQL-A-simple-example
此外,正如 SamiHuutoniemi 所提到的,您可以使用没有 ORM 的 MySql 连接器,只需使用数据阅读器:http ://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqldatareader.html
更新:UPS,看起来我误解了这个问题。简短的回答是 - 您不希望从桌面直接与您网站的数据库进行通信,因为它涉及许多问题,其中之一是安全性 - 您需要从外部打开您的数据库访问权限。我建议在您现有的网站上创建一个页面(Web 服务),该页面将接受来自 c# 客户端的请求并将这些请求转换为使用数据库的操作。
不确定您当前站点使用的是什么技术,但如果是 PHP,则此页面列出了其中的几个:http: //blog.programmableweb.com/2011/09/23/short-list-of-restful-api-frameworks -for-php/
您可以使用 OleDbConnection 连接到 mysql:例如:
using System.Data.OleDb;
public class DataAccess
{
public void Connect(Action<OleDbConnection> action)
{
using(var cnn=new OleDbConnection())
{
cnn.ConnectionString="Provider=MySqlProv;Data Source=ServerName;User id=UserName;Password=Password;"
cnn.Open();
action(cnn);
}
}
}
在这里您可以找到更多有用的信息。
如果您不使用实体框架,您也可以下载Oracle 的 .NET 连接器。