gpt4 book ai didi

c# - 写入 MySQL

转载 作者:行者123 更新时间:2023-11-29 00:49:12 31 4
gpt4 key购买 nike

我以前在学校学过一些简单的数据库编程,但现在我正在尝试学习最佳实践,因为我正在编写更复杂的应用程序。写入 MySQL 数据库并不难,但我想知道让分布式应用程序写入 Amazon EC2 上的远程数据库的最佳实践是什么。

从现在开始,我将在云中托管一个能够接收传入连接的 MySQL 数据库。我质疑这是默认情况下,它只允许本地主机连接到它。

有没有比只执行某种 DbConnect、硬编码我的服务器的在线主机名、root 用户名和密码更安全或更专业的方式来写入云中的 MySQL 实例?我只是不想制作无法以最佳方式访问数据库的生产应用程序。

谢谢!你们总是很棒。

最佳答案

迄今为止,数据库工作最可行的选择是使用 Entity Framework 之类的东西您的模型就是模型,您的数据库连接是独立的,如果需要,您可以轻松地将应用程序移植到另一个数据库提供者......即 mysql 到 msSQL,而无需在工作方式上做太多事情。

Entity Framework 代码优先是我认为最容易移植的。同样对于 mysql,您只需要提供商本身提供的 mysql.net 连接器,这适用于 Entity Framework 。

此外,通过使用模型和使用 linq,您还可以进一步帮助减少 SQL 注入(inject)问题,因为您实际上不会编写或发送任何 SQL。

考虑到这一点,如果您有一个庞大的数据库,EF 会让人头疼,而且速度非常慢,为此,一个简单的数据库类就可以做到,您可以使用如下几个函数:

private readonly MySqlConnection _conn = new MySqlConnection();
private MySqlCommand _myCommand = new MySqlCommand();

private readonly string _dbConn = ConfigurationManager.AppSettings["dbConn"];

public void Closedb()
{
try
{
_conn.Dispose();
_conn.Close();
}
catch (Exception ex)
{

}
}

public void UpdateDatabaseWithSql(string mysql)
{
Closedb();

_conn.ConnectionString = _dbConn;
_conn.Open();


_myCommand= new MySqlCommand(mysql,_conn);

_myCommand.ExecuteNonQuery();

Closedb();
}

mysql 的数据库连接在 web.config 文件中如下所示:

<add name="MvcCustomContext" 
connectionString="server=[ip];User Id=[user];password=[pass];Persist Security Info=True;database=[dbname]"
providerName="MySql.Data.MySqlClient" />

希望对你有帮助

关于c# - 写入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9241301/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com