[.NET] VB.net 越吃越多的記憶體...

看板Visual_Basic作者時間15年前 (2010/07/27 18:56), 編輯推噓6(6016)
留言22則, 5人參與, 最新討論串1/1
請輸入專案類型(網站專案或者應用程式專案):應用程式專案 各位好 有個會吃記憶體的問題想跟各位請教 程式碼如下: ==================================START======================================== Imports System.Data Imports System.Data.OleDb Public Class Form1 Dim conn As New OleDbConnection Dim insertstring As String Dim cmd As New OleDbCommand Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conn.ConnectionString = "Provider=MSDAORA.1;Data Source=myserver;Persist Security Info=True;Password=pwd;User ID=user" conn.Open() Dim str1 As String = "Select * from Table01" Dim adapter1 As OleDbDataAdapter = New OleDbDataAdapter(str1, conn) Dim dataset1 As DataSet = New DataSet() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick '1s TextBox1.Text = Now.Hour & ":" & Now.Minute & ":" & Now.Second cmd.CommandText = "Insert Into Table01(Time,DATA1)Values( '" & TextBox1.Text & "' , 100 )" cmd.Connection = conn cmd.ExecuteNonQuery() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Timer1.Enabled = True Then Timer1.Enabled = False Else Timer1.Enabled = True End If End Sub End Class ===================================END========================================= 目前程式可以正常執行 但是 在工作管理員中 會發現整個程式不斷在吃記憶體 會慢慢的增加 請問我有寫錯嗎 或是 有什方法可以解決此問題 我試過 dispose 無法釋放資源 謝謝 PS: VB.net 2010 + ORACLE 10g -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.205.238

07/27 18:59, , 1F
有無限迴圈的程式在跑嗎
07/27 18:59, 1F

07/27 19:39, , 2F
NO, 完整的 CODE 如上 謝謝
07/27 19:39, 2F

07/27 22:03, , 3F
conn開了好像沒關?
07/27 22:03, 3F

07/27 22:05, , 4F
我每秒都在寫入 不斷的開關 我怕會影響寫入速度
07/27 22:05, 4F

07/27 22:05, , 5F
因為我同時有 50多個表在寫入 寫入資料超過 1500個DATA/sec
07/27 22:05, 5F

07/27 22:07, , 6F
請問是否有針對 Dim cmd As New OleDbCommand 關閉的方式?
07/27 22:07, 6F

07/27 23:14, , 7F
關上是種習慣~
07/27 23:14, 7F

07/28 13:51, , 8F
建議connection obj OPEN()一次就好...全部跑完再關掉.
07/28 13:51, 8F

07/28 16:24, , 9F
H大 願聞其詳 謝謝
07/28 16:24, 9F

07/28 18:07, , 10F
你的Timer1 Interval屬性設多少?
07/28 18:07, 10F

07/28 18:09, , 11F
應該是你的Timer1 Interval設太小.導致Insert太頻繁.
07/28 18:09, 11F

07/28 21:56, , 12F
1秒 <= 沒設錯 就是一秒寫一堆資料進DB
07/28 21:56, 12F

07/28 22:23, , 13F
Interval單位是毫秒, 所以Interval設1000才是1秒.
07/28 22:23, 13F

07/28 23:14, , 14F
我知道, 我是在屬性中設定不是在CODE中設定
07/28 23:14, 14F

07/28 23:15, , 15F
且 吃記憶體的問題是出在 沒有釋放 非秒數所影響 謝謝
07/28 23:15, 15F

07/29 01:48, , 16F
不是完整code吧 adapter1沒用到 你如何寫入50表也看不出
07/29 01:48, 16F

07/29 08:58, , 17F
D大 因為不用將DB內容顯示在畫面上 故省略了 adapter
07/29 08:58, 17F

07/29 09:00, , 18F
在 Timer1_Tick 中 是一個完整的 TABLE , 50表只是重複
07/29 09:00, 18F

07/29 09:00, , 19F
且 一個表都解不掉 如何解 50表
07/29 09:00, 19F

07/29 11:14, , 20F
你conn不關 比較像是一直喝水又不給人喘氣
07/29 11:14, 20F

07/29 11:15, , 21F
sql有背景處理 access有嗎? 小弟不知道有沒有咧
07/29 11:15, 21F

07/29 11:57, , 22F
N大 說到DB有背景處理 我發現每秒記錄的資料會跳 但不會LOSE
07/29 11:57, 22F
文章代碼(AID): #1CJhjejp (Visual_Basic)