GVKun编程网logo

c# – 如何在执行多个查询时保持Connection处于打开状态?(c#多条件查询mysql)

15

在这篇文章中,我们将为您详细介绍c#–如何在执行多个查询时保持Connection处于打开状态?的内容,并且讨论关于c#多条件查询mysql的相关问题。此外,我们还会涉及一些关于.conn.Manag

在这篇文章中,我们将为您详细介绍c# – 如何在执行多个查询时保持Connection处于打开状态?的内容,并且讨论关于c#多条件查询mysql的相关问题。此外,我们还会涉及一些关于.conn.ManagedClientConnectionImpl@604ed9f0 java.net.ConnectException: Connection refused: connect、:10000/hive: java.net.ConnectException: Connection refused: connect、c# – 仅在执行结束时触发SqlConnection InfoMessage、C#如何连接数据库?OleDbConnection与SqlConnection的区别的知识,以帮助您更全面地了解这个主题。

本文目录一览:

c# – 如何在执行多个查询时保持Connection处于打开状态?(c#多条件查询mysql)

c# – 如何在执行多个查询时保持Connection处于打开状态?(c#多条件查询mysql)

我正在使用多个查询从我的应用程序中的同一服务器中提取数据.问题是我每次有新查询时都必须打开一个新连接.

是否有可能:

>打开连接
>运行查询
>拉结果
>运行另一个查询
>拉另一个结果
>运行最终查询
>拉另一个结果
>关闭连接.

解决方法

虽然你可能还不知道,但你正确地做到了.

打开连接,执行查询,关闭它.优选使用使用块或尝试/最终.

这可能听起来像很多开销,但sql Server的.NET Framework数据提供程序中的连接池实际上会为您优化这一点.

实际上建议关闭连接.
以下是文档中的引用:

It is recommended that you always
close the Connection when you are
finished using it in order for the
connection to be returned to the pool.
This can be done using either the
Close or dispose methods of the
Connection object. Connections that
are not explicitly closed might not be
added or returned to the pool. For
example,a connection that has gone
out of scope but that has not been
explicitly closed will only be
returned to the connection pool if the
maximum pool size has been reached and
the connection is still valid.

以下是一些执行此操作的代码示例:

try {
    conn.open();
    // Perform query here
} finally {
    conn.Close();
}

以供参考:

http://msdn.microsoft.com/en-us/library/8xx3tyca(VS.71).aspx

.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)

:10000/hive: java.net.ConnectException: Connection refused: connect

:10000/hive: java.net.ConnectException: Connection refused: connect

java.sql.SQLException: Could not establish connection to 192.168.2.100:10000/hive: java.net.ConnectException: Connection refused: connect
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:116)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at cn.itcas.hive.udf.HiveJdbcClient2.main(HiveJdbcClient2.java:23)
15/09/15 10:52:18 ERROR udf.HiveJdbcClient: Connection error!

c# – 仅在执行结束时触发SqlConnection InfoMessage

c# – 仅在执行结束时触发SqlConnection InfoMessage

我在用
sqlConnection.InfoMessage += new sqlInfoMessageEventHandler(sqlConnection_InfoMessage);

和ExecuteNonQuery()来执行存储过程.

我在存储过程中使用RAISERROR(“自定义消息”,10,1)和NowAIT来抛出消息.

我正在获取sql server在查询执行结束时抛出的所有消息,我想要在进程时.

我可以通过设置sqlConnection.FireInfoMessageEventOnUserErrors = true来实时获取所有消息;但这导致严重性大于10的错误也由sqlInfoMessageEventHandler处理,我希望将其作为异常抛出.

有没有办法在eventHandler中实时获取严重性为10的自定义sql信息快照,但是其他异常?

解决方法

似乎问题出在ExecuteNonQuery()上.

在我的例子中,我使用了ExecuteScalar()并删除了该行

sqlConnection.FireInfoMessageEventOnUserErrors = true;

这导致RAISERROR(“自定义消息”,1)WITH NowAIT被eventHandler和其他实时异常捕获.

C#如何连接数据库?OleDbConnection与SqlConnection的区别

C#如何连接数据库?OleDbConnection与SqlConnection的区别

c#如何连接数据库?本篇文章给大家带来的内容是c#oledbconnection连接数据库的操作,让大家了解oledbconnection与sqlconnection的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。

OleDbConnection适合于连接任何类型的数据库(如Oracle,SQL   Server,ACCESS等),其命名空间为:using System.Data.OleDb;。而SqlConnection是专门用来连接SQL   Server(MS   SQL)数据库的,其命名空间为:using System.Data.SqlClient。

在对数据库的操作中,如果用到了OleDbConnection,那么对数据库的操作 ,比如连接池就要用到 OleDbDataAdapter 和 操作命令 用 OleDbCommand ,同样的在用到了SqlConnection时, 就要用到SqlDataAdaper  和 SqlcCommand。在一定情况下,如果需要 对数据表中具体到某一字段的数据进行操作时(比如想要得到某一行某一列的具体的数据),OleDbConnection 可以用OleDbDataReader,SqlConnection可以用 SqlDataReader读取器进行数据读取。
其次针对以上两种情况 ,也均可以采用 连接池,dataset    ,datetable的联合使用获取 ,自己想要的某一行某一列的具体的数据.  针对以上具体方法和属性的使用可参考MSDN的讲解!

对于不同的.net数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。

Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。

Sqlconnetcion类的对象连接是SQL Server数据库;OracleConnection类的对象连接Oracle数据库;OleDbConneetion连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接支持ODBC的数据库。与数据库的所有通讯都是通过Connection对象来完成的。

这次先介绍使用OleDbonnection来链接各种数据源。

ADO.Net的数据访问对象有Connection,Command、DataReader和DataAdaper等,由于每种.NET Data Provider都有自己的数据访问对象,因此他们的使用方式相似。这里主要介绍OLEDB.NET Data Provider的各种数据访问对象的使用。

注意:OLEDB.NET数据提供程序的命名空间是System.Data.OleDb,在使用它时应该在引用部分增加该语句。

OleDbConnection对象

在数据访问中首先必须建立到数据库的物理连接。OLEDB.NET Data Provider 使用OleDbConnection类的对象标识与一个数据库的物理连接。

1、OledbConnection类

OledbConnection类的常用属性如下表所示,其中的State属性取值及其说明如表14.7所示。

OleDbConnection类的常用属性及其说明

属性 说明

ConnectionString 获取或设置用于打开数据库的字符串

ConnectionTimeOut 获取在尝试建立连接时终止尝试并生成错误之前所等待的时间

Database 获取当前数据库或连接打开后要使用的数据库名称

DataSource 获取数据源的服务器名或文件名

Provider 获取在连接字符串的“Provider = ” 子句中指定的OLEDB提供程序的名称

State 获取连接的当前状态

State枚举成员值:

Connecting 连接对象正在与数据源连接

Executing 连接对象正在执行命令

Fetching 连接对象正在检索数据

Open 连接对象处于打开状态

OleDbConnection类的常用方法如下表所示:

Open 使用ConnectionString所指定的属性设置打开数据库连接

Close 关闭与数据库的连接,这是关闭任何打开连接的首选方法

CreateCommand 创建并返回一个与OleDbConnection关联的OleDbCommand对象

ChangeDatabase 为打开的OleDbConnection更改当前数据库

2、建立连接字符串ConnectionString

建立连接的核心是建立连接字符串ConnectionString,简历连接主要有如下两种方法。

1)、直接建立连接字符串

直接建立连接字符串的方式是先创建一个OleDbConnection对象,将其ConnectionString属性设置为如下:

Provider = Microsoft.Jet.OLEDB.4.0;Data Sourse = Access数据库;UserId = 用户名;Password = 密码;

    其中Provider和DataSource是必选项,如果Access数据库没有密码,UserId和Password可以省略。由于Access数据库是基于文件的数据库,因此在实际项目中应该将Data Source的属性值转换为服务器的绝对路径。

最后用Open方法打开连接。

 总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问C#视频教程!

以上就是C#如何连接数据库?OleDbConnection与SqlConnection的区别的详细内容,更多请关注php中文网其它相关文章!

我们今天的关于c# – 如何在执行多个查询时保持Connection处于打开状态?c#多条件查询mysql的分享就到这里,谢谢您的阅读,如果想了解更多关于.conn.ManagedClientConnectionImpl@604ed9f0 java.net.ConnectException: Connection refused: connect、:10000/hive: java.net.ConnectException: Connection refused: connect、c# – 仅在执行结束时触发SqlConnection InfoMessage、C#如何连接数据库?OleDbConnection与SqlConnection的区别的相关信息,可以在本站进行搜索。

本文标签: