C#測試資料庫連線是否成功
using System.Data.SqlClient;
using System.Data;
public class ConnectionTestInfo
{
private static SqlConnection mySqlConnection; //mySqlConnection is a SqlConnection object
private static string ConnectionString = "";
private static bool IsCanConnectioned = false;
///
/// 測試連線資料庫是否成功
///
///
public static bool ConnectionTest()
{
//獲取資料庫連線字串
ConnectionString = ConnectionInfo.ConnectionString();
//建立連線物件
mySqlConnection = new SqlConnection(ConnectionString);
//ConnectionTimeout 在.net 1.x 可以設定 在.net 2.0後是隻讀屬性,則需要在連線字串設定
//如:server=.;uid=sa;pwd=;database=PMIS;Integrated Security=SSPI; Connection Timeout=30
//mySqlConnection.ConnectionTimeout = 1;//設定連線超時的時間
try
{
//Open DataBase
//開啟資料庫
mySqlConnection.Open();
IsCanConnectioned = true;
}
catch
{
//Can not Open DataBase
//開啟不成功 則連線不成功
IsCanConnectioned = false;
}
finally
{
//Close DataBase
//關閉資料庫連線
mySqlConnection.Close();
}
//mySqlConnection is a SqlConnection object
if (mySqlConnection.State == ConnectionState.Closed || mySqlConnection.State == ConnectionState.Broken)
{
//Connection is not available
return IsCanConnectioned;
}
else
{
//Connection is available
return IsCanConnectioned;
}
}
}
其中資料庫字串呼叫了類ConnectionInfo的方法ConnectionString
public class ConnectionInfo
{
public ConnectionInfo() { }
///
/// 從配置檔案中讀取資料庫聯接字串
///
///
public static string ConnectionString()
{
return (ConfigurationSettings.AppSettings["ConnectionString"]);
}
}
解決ASP.NET Web Applicatio超時時間已到.在操作完成之前超時時間已過或伺服器未響應
“超時時間已到。在操作完成之前超時時間已過或伺服器未響應”
初步分析原因為對MSSQL操作時連線超時,知道這事,以前沒留意,大概是在配置檔案中設定連線時限,在網上找了下解決方法,大多說在資料庫連線字串裡解決
SqlConnection con = new SqlConnection("server=.;database=myDB;uid=sa;pwd=password;")改為:
SqlConnection con = new SqlConnection("server=.;database=myDB;uid=sa;pwd=password;Connect Timeout=500")似乎沒效果。依然執行30秒即報超時!
突然感覺似乎應該可以在連線資料庫程式碼中指明,式了下con的屬性,有個ConnectionTimeout,
SqlConnection con = new SqlConnection("server=.;database=myDB;uid=sa;pwd=;");
con.ConnectionTimeout = 180;//報錯,屬性ConnectionTimeout 為只讀!嘗試失敗,再接著看command物件屬性,發現其也有類似屬性!CommandTimeout設定一下:
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = 180;再執行,即解決,這裡設定的時間的180秒,即三分鐘!可根據需要設定,如果過長,也可以設定為0,當此屬性設定為0時表示不限制時間。此屬性值應該慎用。還需要在Web.config配置檔案中設定http請求執行時限間
<system.web>
<httpRuntime maxRequestLength="102400" executionTimeout="720" />
system.web>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-557799/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 搭建springboot專案,檢測資料庫是否連線成功Spring Boot資料庫
- C#連線資料庫C#資料庫
- 使用C#連線資料庫C#資料庫
- linux 資料庫localhostl連線成功127.0.0.1連線失敗Linux資料庫localhost127.0.0.1
- c#連線SQL Server資料庫C#SQLServer資料庫
- 如何針對服務是否有重新連線資料庫的能力進行測試資料庫
- 用c#建立與資料庫的連線 c#連sqlserverC#資料庫SQLServer
- PostgreSQL:資料庫連結測試SQL資料庫
- [JM_08]JMeter連線Mysql資料庫測試實踐JMeterMySql資料庫
- 【JDBC】java連線池模擬測試連線Oracle資料庫指令碼參考JDBCJavaOracle資料庫指令碼
- C#連線MySQL8.0資料庫失敗C#MySql資料庫
- C# 連線多種資料庫元件,類庫專案C#資料庫元件
- 深圳軟體測試學習:【資料庫】-【oracle】-連線查詢資料庫Oracle
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- 連線資料庫資料庫
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- JDBC連線資料庫JDBC資料庫
- 連線資料庫-mysql資料庫MySql
- jmeter連線資料庫JMeter資料庫
- Mybatis連線資料庫MyBatis資料庫
- Android 連線資料庫Android資料庫
- java連線資料庫Java資料庫
- JSP連線資料庫JS資料庫
- mysqli連線資料庫MySql資料庫
- Mongodb資料庫連線MongoDB資料庫
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- C#連線和操作Oracle資料C#Oracle
- python 連線 mongo 資料庫連線超時PythonGo資料庫
- Python連線MySQL資料庫PythonMySql資料庫
- Flask資料庫連線池Flask資料庫
- IDEA中資料庫連線Idea資料庫
- jmeter 連線 sqlserver 資料庫JMeterSQLServer資料庫
- Datagrip連線Kingbase資料庫資料庫
- Mybatis配置資料庫連線MyBatis資料庫
- python資料庫連線池Python資料庫
- nodejs之資料庫連線NodeJS資料庫
- Rust 連線 PostgreSQL 資料庫RustSQL資料庫
- 使用Python連線資料庫Python資料庫
- django | 連線mysql資料庫DjangoMySql資料庫