phpbar.de logo

Mailinglisten-Archive

AW: Tabelle bleibt in Benutzung

AW: Tabelle bleibt in Benutzung

IT Service Spickermann M.Spickermann spickermann at itss-web.de
Mit Dez 10 20:55:32 CET 2003


Erst mal Danke für die Antwort Heinz,

Ich versuche es mal mit dem Code. Ich habe ihn gekürzt. Ist sonst ein
bisschen viel.


'Variablen für das Auslesen von OPC Server erzeugen
Dim item As OPCDataItem
Dim opcstr As String
Dim opcvalue As Variant




'Variablen DB konnektieren erzeugen 16.03.02 MS
Dim conn As ADODB.Connection
Dim sql_befehl As String

'DB konnektieren 16.03.02 MS
Set conn = New ADODB.Connection
'conn.ConnectionString =
"DSN=kkgs1418;UID=dbadmin;PWD=mysqladm;OPTION=3;" 'ODBC öffnen 16.03.02
MS
conn.ConnectionString = "DSN=kkgs1418;UID=;PWD=;OPTION=3;" 'ODBC öffnen
16.03.02 MS
conn.Open 'DB Verbindung öffnen 16.03.02 MS
    
'    For i = 1 To NbItems
'For Each item In ActiveXStr1.Items
For Each item In ChangedItems

        Text8 = CStr(item.ItemID)
        Text14 = CStr(item.value)
        
            'Selectiertes Item (Punkt) auswählen und abarbeiten
            Dim MSItemName
            MSItemName = CStr(item.ItemID)
            Select Case MSItemName

'***********************************************************************
*********
'Beginn Trends
'***********************************************************************
*********
        
        
        'Historische Daten Trend Temperaturen Gruppe verarbeiten
        Case Duese_Ist, Duese_Soll, Heiz1_Ist, Heiz1_Soll, Heiz2_Ist,
Heiz2_Soll, Heiz3_Ist, Heiz3_Soll, Heiz4_Ist, Heiz4_Soll, Heiz5_Ist,
Heiz5_Soll, Heiz6_Ist, Heiz6_Soll, Pr_K1_Temp, Pr_K2_Temp, Pr_K3_Temp
            
            StartTemps = Timer    ' Anfangszeit setzen.
            ZeitTemps = 180
            
            If StartTemps > StartZeitTemps Then
            Call Trend_Temp(ActiveXStr1, conn)
            ' Temporäre Aufzeichnung der Weichmachertankheizung
            Call Weichmach_MPa(ActiveXStr1, conn)
            StartZeitTemps = StartTemps + ZeitTemps
            Else
                If StartZeitTemps > (StartTemps + 180) Then
                StartZeitTemps = StartTemps
                End If
            End If
            
'***********************************************************************
*********
'EndTrendTemps:
'***********************************************************************
*********
'***********************************************************************
*********
'EndTrends:
'***********************************************************************
*********
        
        End Select
      Next

'DB Verbindung schliessen 16.03.02 MS
conn.Close
Set conn = Nothing


End Sub

Dieser obige Teil ruft folgendes Modul auf:

Public Sub Trend_Temp(ActiveXStr1, conn)

Dim MSValue(17) As Variant

'***********************************************************************
***********
' DB mysql connectieren
'***********************************************************************
***********

Dim sql_befehl As String

'***********************************************************************
***********
' Trend Daten Kneter GS holen
'***********************************************************************
***********
MSValue(0) = ActiveXStr1.Items(Heiz1_Ist).value
MSValue(1) = ActiveXStr1.Items(Heiz1_Soll).value
MSValue(2) = ActiveXStr1.Items(Heiz2_Ist).value
MSValue(3) = ActiveXStr1.Items(Heiz2_Soll).value
MSValue(4) = ActiveXStr1.Items(Heiz3_Ist).value
MSValue(5) = ActiveXStr1.Items(Heiz3_Soll).value
MSValue(6) = ActiveXStr1.Items(Heiz4_Ist).value
MSValue(7) = ActiveXStr1.Items(Heiz4_Soll).value
MSValue(8) = ActiveXStr1.Items(Heiz5_Ist).value
MSValue(9) = ActiveXStr1.Items(Heiz5_Soll).value
MSValue(10) = ActiveXStr1.Items(Heiz6_Ist).value
MSValue(11) = ActiveXStr1.Items(Heiz6_Soll).value
MSValue(12) = ActiveXStr1.Items(Duese_Ist).value
MSValue(13) = ActiveXStr1.Items(Duese_Soll).value
MSValue(14) = ActiveXStr1.Items(Pr_K1_Temp).value
MSValue(15) = ActiveXStr1.Items(Pr_K2_Temp).value
MSValue(16) = ActiveXStr1.Items(Pr_K3_Temp).value

    
VarHeiz1_Ist = MSValue(0)
VarHeiz1_Soll = MSValue(1)
VarHeiz2_Ist = MSValue(2)
VarHeiz2_Soll = MSValue(3)
VarHeiz3_Ist = MSValue(4)
VarHeiz3_Soll = MSValue(5)
VarHeiz4_Ist = MSValue(6)
VarHeiz4_Soll = MSValue(7)
VarHeiz5_Ist = MSValue(8)
VarHeiz5_Soll = MSValue(9)
VarHeiz6_Ist = MSValue(10)
VarHeiz6_Soll = MSValue(11)
VarDuese_Ist = MSValue(12)
VarDuese_Soll = MSValue(13)
VarPr_K1_Temp = MSValue(14)
VarPr_K2_Temp = MSValue(15)
VarPr_K3_Temp = MSValue(16)


'In TrendTabelle Werte schreiben 16.03.02 MS
sql_befehl = "INSERT into t_trend_temps ( Heiz1_Ist, Heiz2_Ist,
Heiz3_Ist, Heiz4_Ist, Heiz5_Ist, Heiz6_Ist, Heiz1_Soll, Heiz2_Soll,
Heiz3_Soll, Heiz4_Soll, Heiz5_Soll, Heiz6_Soll, Duese_Ist, Duese_Soll,
Pr_K1_Temp, Pr_K2_Temp, Pr_K3_Temp ) VALUES ( '" & VarHeiz1_Ist & "', '"
& VarHeiz2_Ist & "', '" & VarHeiz3_Ist & "', '" & VarHeiz4_Ist & "', '"
& VarHeiz5_Ist & "', '" & VarHeiz6_Ist & "', '" & VarHeiz1_Soll & "', '"
& VarHeiz2_Soll & "', '" & VarHeiz3_Soll & "', '" & VarHeiz4_Soll & "',
'" & VarHeiz5_Soll & "', '" & VarHeiz6_Soll & "', '" & VarDuese_Ist &
"', '" & VarDuese_Soll & "', '" & VarPr_K1_Temp & "', '" & VarPr_K2_Temp
& "', '" & VarPr_K3_Temp & "' )"
conn.Execute sql_befehl
sql_befehl = ""

End Sub


Auf der Zeile cönn.Execute sql_befehl bleibt dann das Ganze ab und an
hängen. Das ganze Programm besteht in der Schleife aus viel mehr Modulen
die Aufgerufen werden. Die Connection setze ich aber nur im
Hauptprogramm am Schluss auf Nothing. Ist es besser in jedem Modul die
Connection zu öffnen und zu schliessen?

Hoffe man kann mit dem Code was anfangen. Die Access DB hat leider ca.
18MB.

Ich weis schon das es in der Liste keine Kristallkugel gibt. Wusste aber
auch nicht was ich genau posten soll.

Gruss

Martin

-- 
Martin Spickermann
E-Mail: spickermann at itss-web.de
Internet: http://www.itss-web.de

-----Ursprüngliche Nachricht-----
Von: Meißner, Heinz [mailto:HMeissner at dgverlag.de] 
Gesendet: Mittwoch, 10. Dezember 2003 07:43
An: mysql-de at lists.4t2.com
Betreff: AW: Tabelle bleibt in Benutzung




> -----Ursprüngliche Nachricht-----
> Von: IT Service Spickermann M.Spickermann 
> [mailto:spickermann at itss-web.de]
> Gesendet: Dienstag, 9. Dezember 2003 23:16
> An: mysql-de at lists.4t2.com
> Betreff: Tabelle bleibt in Benutzung
> 
> 
> Hallo Liste,
> 
> Habe folgendes Problem:
> 
> Habe eine Access Application (VBA) die über MyODBC 2.50.39 auf MySQL 
> 3.23.46 zugreift. Leider rufen einzelne Tabellen immer wieder eine 
> Fehlermeldung hervor Got Error from Table Handler. Wenn ich mir dann 
> diese Tabelle über phpmyadmin anschaue steht diese au in Bearbeitung. 
> Nach einem Repair der Tabelle funktioniert alles wieder einige Wochen.

> Der Fehler tritt nur bei Tabellen auf die so ca. 100MB und mehr haben 
> (sieht zumindest so aus). Bei MyODBC ist die Option 3 gesetzt. Option 
> 2 wurde auch schon probiert, mit dem gleichen Ergebnis.
> Den neuen MyODBC Vers.3 habe ich auch schon getestet, leider ohne
> Erfolg. Hier tritt ein anderes Problem auf, das Access immer mehr
> Speicher benötigt. Bis die ganze Kiste einfriert.
> Betriebssystem ist Win 2000 Server.
> 
> Ist jemandem das Problem bekannt, oder hat jemand eine Lösung?
> 
> Mfg
> 
> Martin
> 
hallo martin,
das hört sich so an als wenn die verbindung nicht zurückgesetzt wird ...
hast du das objekt ge_null_t ? check doch mal deinen code ... oder poste
ihn ...
<-- nix kristallkugel hat ;-)
grüße
heinz

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive