标签: mysqlconnection

在C#中使用MySQLConnection无法正常关闭

最终解决方案

连接已添加到连接池中.所以我关闭它,但它仍然保持身体开放.使用ConnectionString参数"Pooling = false"或静态方法MySqlConnection.ClearPool(连接)和MySqlConnection.ClearAllPools可以避免问题.请注意,问题是,当我关闭应用程序时,连接仍然存在.即使我关闭它.所以我要么根本不使用连接池,要么在关闭连接之前清除特定池,问题就解决了.我会花时间弄清楚在我的情况下什么是最好的解决方案.

感谢所有回答的人!它帮助我更好地理解了C#的概念,并从有用的输入中学到了很多东西.:)

===

原始问题:

我已经搜索了一段时间,并没有找到我的问题的解决方案:我是C#的新手并尝试编写一个类来使MySql Connections更容易.我的问题是,在我打开连接并关闭它之后.它仍然在数据库中打开并被中止.

我当然使用'using'语句,但是在退出程序后连接仍然是打开的并且被中止.

这是我的代码的样子:

using (DatabaseManager db = new DatabaseManager())
{
using (MySqlDataReader result = db.DataReader("SELECT * FROM module WHERE Active=1 ORDER BY Sequence ASC"))
{
    foreach (MySqlDataReader result in db.DataReader("SELECT * FROM module WHERE Active=1 ORDER BY Sequence ASC"))
    {
        //Do stuff here
    }
}
}
Run Code Online (Sandbox Code Playgroud)

类数据库管理器打开连接并在处理时关闭它:

public DatabaseManager()
{
    this.connectionString = new MySqlConnectionStringBuilder("Server=localhost;Database=businessplan;Uid=root;");
    connect();
}
private bool connect()
{
    bool returnValue = true;
    connection = new MySqlConnection(connectionString.GetConnectionString(false));
    connection.Open();
}

public void …
Run Code Online (Sandbox Code Playgroud)

c# mysqlconnection mysqldatareader

16
推荐指数
2
解决办法
3万
查看次数

连接池与持久连接mysqli

我读过mysqli介绍了mysql中没有的连接池. http://php.net/manual/en/mysqli.quickstart.connections.php

我已经阅读了这个问题,解释了连接池和持久连接之间的区别.

mysqli文档中,Persistent connection他们写道:

如果在连接池中找不到主机,用户名,密码,套接字,端口和默认数据库的给定组合的未使用的持久连接,则mysqli将打开一个新连接.

那么,mysqli是否使用连接池进行持久连接?

如果是,那么mysqli中连接池和持久连接之间有什么区别?

如果不是,那么mysqli如何为持久连接执行连接对象的查找?

php mysql database mysqli mysqlconnection

9
推荐指数
2
解决办法
3584
查看次数

通信链路故障发送到服务器的最后一个数据包是1毫秒前.

我试图连接mysql database但我失败了,显示了这个错误

Communications link failure Last packet sent to the server was 1 ms ago
Run Code Online (Sandbox Code Playgroud)

这是我的代码?任何人都可以帮助我

package android_programmers_guide.testconnection;


import java.sql.Connection;
import java.sql.DriverManager;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.widget.EditText;

public class TestConnection extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test_connection);



           Connection conn = null;
           String url = "jdbc:mysql://127.0.0.1:3306/test";
           String driver = "com.mysql.jdbc.Driver";
           String userName = "root"; 
           String password = "root";


           try {
           Class.forName(driver).newInstance();
           conn = DriverManager.getConnection(url,userName,password);


           EditText editText=(EditText) findViewById(R.id.editText1);


           editText.setBackgroundColor(Color.GREEN);
           editText.setText("Connected to …
Run Code Online (Sandbox Code Playgroud)

java mysql android mysqlconnection

8
推荐指数
1
解决办法
1万
查看次数

通过套接字的Doctrine2(Symfony4)数据库连接URL

我很难让数据库连接与Symfony4 w / doctrine2中使用的mysql url格式一起使用。

这是我想要做的:

mysql://dbusername:dbpassword@unix_socket(/path/to/socket)/dbname
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?请指教。Doctrine2文档尚不清楚通过套接字进行连接的格式。

php mysqlconnection doctrine-orm symfony4

5
推荐指数
1
解决办法
1831
查看次数

如何在使用SslMode = Preferred时找出MySQL连接的安全性

我有一个用VB.NET编写的客户端应用程序,它连接到远程MySQL服务器.当连接安全或不安全时,我想在UI上签名.

SslMode设置为Preferred(如果服务器支持SSL,则使用SSL,但在所有情况下都允许连接)

一旦建立了mysql连接,我该如何判断它是否是安全连接?

以下是我的连接字符串的样子:

'Declaring the MySqlConnection
_MysqlConn = New MySqlConnection( _
               New MySqlConnectionStringBuilder() _
               With { _
                 .Port = port, _
                 .Server = server, _ 
                 .UserID = username, _ 
                 .Password = password, _ 
                 .Database = database, _
                 .SslMode = MySqlSslMode.Preferred _
               }.ConnectionString
             )
Run Code Online (Sandbox Code Playgroud)

如果有问题,我正在使用mysql.data(6.5.4.0).

提前谢谢你的帮助!

mysql vb.net ssl mysqlconnection

3
推荐指数
1
解决办法
645
查看次数

如何在mysql中永久设置最大连接数?

我需要一些帮助来在MySql中永久设置MAX连接值.我试过,但我找不到永久的解决方案.现在,我正在通过更改命令提示符来使用临时解决方案,就像在本文中一样.

mysql mysqlconnection

3
推荐指数
1
解决办法
2万
查看次数

错误1045(28000):拒绝用户访问(使用密码:是)

我试图在服务器上有一个简单的mysql数据库,在另一个连接到它的服务器上有另一个数据库.

我做了以下事情:

  1. 安装了mysql-server
  2. 创建了数据库
  3. 创建用户:

    创建用户admin @'localhost'标识为'admin';

  4. 给定此用户的权限:

    在confWeb上授予所有特权.*管理员@'';

  5. 打开了bind-adress

现在,当我mysql -u admin -p -h <address>从另一台服务器启动命令时,它只是一次又一次地告诉我:

ERROR 1045 (28000): Access denied for user 'admin'@'X.X.X.X' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

我真的不知道该做什么.我想我已经尝试了一切.我试着把GRANT OPTIONGRANT线放到最后,我尝试了许多不同的地址,但没有任何效果.

mysql mysqlconnection

1
推荐指数
1
解决办法
3万
查看次数

Mysql连接无法使用"使用"

我正在尝试这个

string query = "SELECT * FROM teams ORDER BY name";

using(MySqlConnection dbConn = new MySqlConnection(conn))
{
    MySqlCommand cmd = new MySqlCommand(query, dbConn);
    MySqlDataReader dataReader = cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)

但它在MysqlCommand行上返回一个错误,说Connection必须有效并且打开.任何人都知道我做错了什么?

c# mysql mysqlconnection

0
推荐指数
1
解决办法
197
查看次数