GVKun编程网logo

方法'X.set_DbConnection(System.Data.Common.DbConnection)'尝试访问方法'Y.get_Settings()失败

19

如果您想了解方法'X.set_DbConnection和System.Data.Common.DbConnection'尝试访问方法'Y.get_Settings的知识,那么本篇文章将是您的不二之选。

如果您想了解方法'X.set_DbConnectionSystem.Data.Common.DbConnection'尝试访问方法'Y.get_Settings的知识,那么本篇文章将是您的不二之选。我们将深入剖析方法'X.set_DbConnection的各个方面,并为您解答System.Data.Common.DbConnection'尝试访问方法'Y.get_Settings的疑在这篇文章中,我们将为您介绍方法'X.set_DbConnection的相关知识,同时也会详细的解释System.Data.Common.DbConnection'尝试访问方法'Y.get_Settings的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

方法'X.set_DbConnection(System.Data.Common.DbConnection)'尝试访问方法'Y.get_Settings()失败

方法'X.set_DbConnection(System.Data.Common.DbConnection)'尝试访问方法'Y.get_Settings()失败

我创建了一个控制台应用程序,并使用EntityFramework 6.2(用于与MS SQL连接),MySql.Data
8.0.11和MySql.Data.Entity 6.10.7(用于与MySQL连接)。

在此应用程序中,我想创建一个像SQL作业这样的作业,但是我不想使用quertz.net。我有错误:

“尝试通过方法’MySql.Data.Entity.EFMySqlCommand.set_DbConnection(System.Data.Common.DbConnection)’访问方法’MySql.Data.MySqlClient.MySqlConnection.get_Settings()’失败。”

答案1

小编典典

MySql.Data.Entity6.10.7与MySql.Data8.0.11 不兼容。

甲骨文改名包,以MySql.Data.EntityFramework供v8.x.
您需要卸载MySql.Data.Entity并安装MySql.Data.EntityFramework

.conn.ManagedClientConnectionImpl@604ed9f0 java.net.ConnectException: Connection refused: connect

.conn.ManagedClientConnectionImpl@604ed9f0 java.net.ConnectException: Connection refused: connect

DEBUG 2016-11-07 14:32:47,518  Get connection for route {}->http://127.0.0.1:8087->http://rdsearch.zhaopin.com:80
DEBUG 2016-11-07 14:32:47,519  Connecting to 127.0.0.1:8087
DEBUG 2016-11-07 14:32:48,530  Connection org.apache.http.impl.conn.DefaultClientConnection@91161c7 closed
DEBUG 2016-11-07 14:32:48,531  Connection org.apache.http.impl.conn.DefaultClientConnection@91161c7 shut down
DEBUG 2016-11-07 14:32:48,532  Releasing connection org.apache.http.impl.conn.ManagedClientConnectionImpl@604ed9f0
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)

.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 5 times. Giving up.

.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 5 times. Giving up.

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 5 times. Giving up.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.Util.getInstance(Util.java:386)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
	at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2385)
	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2306)
	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
	at sun.reflect.GeneratedConstructorAccessor4.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
	at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:443)
	at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:141)
	at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:111)
	at cn.qjj.mysql.MySQLPool.getNewConnection(MySQLPool.java:72)
	at cn.qjj.mysql.MySQLPool.init(MySQLPool.java:63)
	at cn.qjj.mysql.MySQLPool.<init>(MySQLPool.java:32)
	at cn.qjj.mysql.MySQLPool.getInstance(MySQLPool.java:39)
	at cn.qjj.mysql.SqlUtils.<clinit>(SqlUtils.java:33)
	at cn.qjj.solr.MsgUtil.main(MsgUtil.java:31)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections"
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.Util.getInstance(Util.java:386)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1112)
	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2483)
	at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2324)
	... 18 more
java.lang.NullPointerException
	at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
	at cn.qjj.mysql.MySQLPool.init(MySQLPool.java:63)
	at cn.qjj.mysql.MySQLPool.<init>(MySQLPool.java:32)
	at cn.qjj.mysql.MySQLPool.getInstance(MySQLPool.java:39)
	at cn.qjj.mysql.SqlUtils.<clinit>(SqlUtils.java:33)
	at cn.qjj.solr.MsgUtil.main(MsgUtil.java:31)



CannotCreateTransactionException: Could not open JDBC Connection GetConnectionTimeoutException

CannotCreateTransactionException: Could not open JDBC Connection GetConnectionTimeoutException

最近在 开发环境的 1核 2G内存的 云服务器上面 出现了 错误 **GetConnectionTimeoutException **

CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 30001,
...

刚开始的时候没有这个问题,有时候运行使用的时候 偶尔会出现,但是过了一段时间,这个问题 又会 自动修复,。。。

有点奇怪。使用的 数据源是 druid

  初始化大小,最小,最大
    initialSize: 5
    minIdle: 1
    maxActive: 10

以上就是 开始的配置,因为数据库是 另一个云服务器,如果偶尔出现就是 网络的问题。可是本地 运行代码和 Navicat 连接云数据库都没有问题
。。。而且问题经常出现影响到 开发使用。

解决

参考博客

将连接超时时间 设置大一些?

默认连接是设置超时 60S 的,我觉得没必要再设置大了。而且本地连接 远程 的数据库都是 没有问题,连接都是很快的。
不是 连接时间的问题

会不会是 连接数设置太大了?

改为:

 initialSize: 1
    minIdle: 1
    maxActive: 3

结果还是出现了 。。。同样的问题,而且一开机 项目启动访问就出现了,问题更严重了
查询数据库 连接线程情况:


SELECT *
FROM information_schema.processlist    
WHERE  `user`=''root'' and `HOST` like ''%175.24.232.217%'';

结果发现了 3个连接 都是 Sleep 状态。。。出现了 连接泄露

为什么连接都 sleep ?

估计是 本来连接获取数据库资源就慢,然后浏览器又断开连接了。
或者很多web 请求要请求资料。但是 这些请求又迟迟获取不到数据库连接,因此出现了连接获取超时。
而且因为我这个是 单核服务器,处理本来就慢,不能并发处理。同时 IO耗时最多。因此我分析加多 最大连接数即可

设置 最大连接数为 20

 initialSize: 5
    minIdle: 1
    maxActive: 20

问题解决.

反思为什么 单核服务器要加大最大连接数,而且 多核服务器不用

之前项目放在公司内网多核服务器里面,并没有出现这个问题。
而且我也看过一些资料,连接数不少越大越好的。而且 默认 官方的最大连接数就是 10
参考 设置数据库连接池
即 单机的确实要加多 一些连接数的,而多核的反而减低连接数能够达到更大的性能
几年前一个项目,服务器2核的,设置了100连接数,开始没问题,运行不久就DAO处理非常慢,这就是连接数太多了,加大了上下文切换

com.intellij.util.io.socketConnection.ConnectionStatus的实例源码

com.intellij.util.io.socketConnection.ConnectionStatus的实例源码

项目:intellij-ce-playground    文件:ServerSocketConnectionImpl.java   
private void waitForConnection() throws IOException {
  addThreadToInterrupt();
  try {
    setStatus(ConnectionStatus.WAITING_FOR_CONNECTION,null);
    LOG.debug("waiting for connection on port " + getPort());

    final Socket socket = myServerSocket.accept();
    try {
      attachToSocket(socket);
    }
    finally {
      socket.close();
    }
  }
  finally {
    myServerSocket.close();
    removeThreadToInterrupt();
  }
}
项目:tools-idea    文件:ServerSocketConnectionImpl.java   
private void waitForConnection() throws IOException {
  addThreadToInterrupt();
  try {
    setStatus(ConnectionStatus.WAITING_FOR_CONNECTION,null);
    LOG.debug("waiting for connection on port " + getPort());

    final Socket socket = myServerSocket.accept();
    try {
      attachToSocket(socket);
    }
    finally {
      socket.close();
    }
  }
  finally {
    myServerSocket.close();
    removeThreadToInterrupt();
  }
}
项目:consulo    文件:ServerSocketConnectionImpl.java   
private void waitForConnection() throws IOException {
  addThreadToInterrupt();
  try {
    setStatus(ConnectionStatus.WAITING_FOR_CONNECTION,null);
    LOG.debug("waiting for connection on port " + getPort());

    final Socket socket = myServerSocket.accept();
    try {
      attachToSocket(socket);
    }
    finally {
      socket.close();
    }
  }
  finally {
    myServerSocket.close();
    removeThreadToInterrupt();
  }
}
项目:intellij-ce-playground    文件:ServerSocketConnectionImpl.java   
public void open() throws IOException {
  myServerSocket = createSocket();
  setPort(myServerSocket.getLocalPort());
  ApplicationManager.getApplication().executeOnPooledThread(new Runnable() {
    public void run() {
      try {
        waitForConnection();
      }
      catch (IOException e) {
        LOG.info(e);
        setStatus(ConnectionStatus.CONNECTION_Failed,"Connection Failed: " + e.getMessage());
      }
    }
  });
}
项目:tools-idea    文件:ServerSocketConnectionImpl.java   
public void open() throws IOException {
  myServerSocket = createSocket();
  setPort(myServerSocket.getLocalPort());
  ApplicationManager.getApplication().executeOnPooledThread(new Runnable() {
    public void run() {
      try {
        waitForConnection();
      }
      catch (IOException e) {
        LOG.info(e);
        setStatus(ConnectionStatus.CONNECTION_Failed,"Connection Failed: " + e.getMessage());
      }
    }
  });
}
项目:consulo    文件:ServerSocketConnectionImpl.java   
public void open() throws IOException {
  myServerSocket = createSocket();
  setPort(myServerSocket.getLocalPort());
  ApplicationManager.getApplication().executeOnPooledThread(new Runnable() {
    public void run() {
      try {
        waitForConnection();
      }
      catch (IOException e) {
        LOG.info(e);
        setStatus(ConnectionStatus.CONNECTION_Failed,"Connection Failed: " + e.getMessage());
      }
    }
  });
}

今天关于方法'X.set_DbConnectionSystem.Data.Common.DbConnection'尝试访问方法'Y.get_Settings的讲解已经结束,谢谢您的阅读,如果想了解更多关于.conn.ManagedClientConnectionImpl@604ed9f0 java.net.ConnectException: Connection refused: connect、.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 5 times. Giving up.、CannotCreateTransactionException: Could not open JDBC Connection GetConnectionTimeoutException、com.intellij.util.io.socketConnection.ConnectionStatus的实例源码的相关知识,请在本站搜索。

本文标签: