1.與DB的connection開太多且用完後沒有關閉,導致connection pool已滿
2.dataReader 用完後沒有關閉
我的情況是兩種可能都有 XD
改掉之後程式就正常了
還有一種方法就是將connection pool加大
設定的方法就是在connectionString最後面加上Max pool size = 200
類似這樣
Server=myServerAddress;Database=myDataBase;Uid=myUsernamePwd=myPassword;Max pool size = 200
參考資料
補充說明:參考資料
Min pool size 代表在connection pool裡最少有幾個連接數,假設你Min pool size設5
那connection pool建立的時候,裡面就會有5個conncetion。
Max pool size則代表connection pool裡最多能有幾個connection。
如果connectioin已達到Max pool size且connection pool中的connection全部都在使用中,要打開新的SqlConnection物件時,則要等待一個SqlConnection物件關閉,然後才可以使用新的SqlConnection物件。如果請求等待時間超過ConnectionTimeout屬性指定的秒數,則會拋出exception。
2009年11月10日 星期二
2009年10月27日 星期二
vb.net mail
Imports System.Net.Mail
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim To_Address As String = Me.TextBox1.Text '"oonedpiece@gmail.com"
' 設定SMTPserver
Dim SMTP_Server As New SmtpClient("smtp.anet.net.tw")
Dim Mailmsg As New System.Net.Mail.MailMessage
Dim MailBodyHtml As String
Mailmsg.IsBodyHtml = True ' 為html內容格式
' 此信的寄件人
Mailmsg.From = New Net.Mail.MailAddress("vincent@guidenet.com.tw", "寄件人")
Mailmsg.Subject = Me.TextBox2.Text '"主旨"
MailBodyHtml = Me.TextBox2.Text '"TEST TEST"
Mailmsg.Body = MailBodyHtml
' 將字串裡的;分為多個收件人
For Each toperson As String In To_Address.Split(CChar(";"))
Mailmsg.To.Add(New Net.Mail.MailAddress(toperson, "收件人"))
Next
SMTP_Server.Send(Mailmsg)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim To_Address As String = Me.TextBox1.Text '"oonedpiece@gmail.com"
' 設定SMTPserver
Dim SMTP_Server As New SmtpClient("smtp.anet.net.tw")
Dim Mailmsg As New System.Net.Mail.MailMessage
Dim MailBodyHtml As String
Mailmsg.IsBodyHtml = True ' 為html內容格式
' 此信的寄件人
Mailmsg.From = New Net.Mail.MailAddress("vincent@guidenet.com.tw", "寄件人")
Mailmsg.Subject = Me.TextBox2.Text '"主旨"
MailBodyHtml = Me.TextBox2.Text '"TEST TEST"
Mailmsg.Body = MailBodyHtml
' 將字串裡的;分為多個收件人
For Each toperson As String In To_Address.Split(CChar(";"))
Mailmsg.To.Add(New Net.Mail.MailAddress(toperson, "收件人"))
Next
SMTP_Server.Send(Mailmsg)
End Sub
2009年10月16日 星期五
擷取SQL登入web.config字串
System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
2009年8月25日 星期二
2009年8月11日 星期二
SQL Server 2008 中儲存資料表的 「 錯誤 」 訊息: 「 儲存變更時不允許 」
不允許儲存變更。 您所做的變更會需要下列資料表卸除並重新建立。 您有做任何變更一個資料表,無法重新建立或啟用選項會防止儲存變更,需要重新建立資料表。
-------------------------------------------
http://support.microsoft.com/kb/956176/zh-tw
若要將 儲存的變更,需要重新建立資料表的 [ 選項請依照下列步驟執行:
如果要判斷是否變更的追蹤功能已啟用資料表中,請依照下列步驟執行]:
啟用變更的追蹤功能時,使用 Transact-SQL 陳述式變更資料表的中繼資料結構。
-------------------------------------------
http://support.microsoft.com/kb/956176/zh-tw
若要將 儲存的變更,需要重新建立資料表的 [ 選項請依照下列步驟執行:
- 請開啟 SQL Server Management Studio (SSMS)。
- 在 [ 工具 ] 功能表中上, 按一下 [ 選項 ]。
- 在 [ 選項] 視窗,巡覽窗格中, 按一下 設計工具 (英文)。
- 選取或清除 [儲存的變更,需要重新建立資料表 ] 核取方塊,然後再按一下 [確定] 。
關閉 [防止儲存需要資料表重新建立的變更] 選項的風險。
雖 然關閉此選項,可協助您避免重新建立資料表,它也會導致變更遺失。 舉例來說,假設您會啟用變更追蹤功能追蹤資料表的變更的 SQL Server 2008 中。 當您執行的作業,會導致重新建立資料表時, 收到錯誤訊息中,< 徵狀 > 一節所述。 不過,如果您關閉這個選項,重新建立資料表時,會刪除現有的變更追蹤資訊。 因此,建議您做無法解決這個問題藉由關閉選項。如果要判斷是否變更的追蹤功能已啟用資料表中,請依照下列步驟執行]:
- 在 SQL Server Management Studio,請在 Object Explorer 中尋找資料表。
- 資料表上, 按一下滑鼠右鍵,,然後按一下 [ 內容] 。
- 在 [ 表格內容] 對話方塊] 方塊中,按一下 [變更追蹤 (英文)。
啟用變更的追蹤功能時,使用 Transact-SQL 陳述式變更資料表的中繼資料結構。
2009年8月7日 星期五
2009年8月6日 星期四
VB.NET 操作 MSSQL SP 語法
Dim Conn As SqlConnection = New SqlConnection("Data Source=xxx.xxx.xxx.xxx;Initial Catalog=DATABASE name;User ID=XXX;Password=xxxxxxxx")
Dim Comm As SqlCommand = New SqlCommand("SP_InsertEvent", Conn)
Comm.CommandType = Data.CommandType.StoredProcedure
Comm.Parameters.AddWithValue("@Yym", Session("currYYM"))
Comm.Parameters.AddWithValue("@Code", "Q456")
Comm.Parameters.AddWithValue("@Name", "現在五點")
Comm.Parameters.AddWithValue("@BeginDate", "2009/08/06")
Comm.Parameters.AddWithValue("@EndDate", "2009/08/06")
Comm.Parameters.AddWithValue("@Description", "現在五點")
Comm.Parameters.AddWithValue("@PsnNo", "7777777")
Conn.Open()
Comm.ExecuteNonQuery()\\沒有回傳值
Conn.Close()
Dim Comm As SqlCommand = New SqlCommand("SP_InsertEvent", Conn)
Comm.CommandType = Data.CommandType.StoredProcedure
Comm.Parameters.AddWithValue("@Yym", Session("currYYM"))
Comm.Parameters.AddWithValue("@Code", "Q456")
Comm.Parameters.AddWithValue("@Name", "現在五點")
Comm.Parameters.AddWithValue("@BeginDate", "2009/08/06")
Comm.Parameters.AddWithValue("@EndDate", "2009/08/06")
Comm.Parameters.AddWithValue("@Description", "現在五點")
Comm.Parameters.AddWithValue("@PsnNo", "7777777")
Conn.Open()
Comm.ExecuteNonQuery()\\沒有回傳值
Conn.Close()
訂閱:
文章 (Atom)