Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datensätze aus Oracle nicht vollständig

Datensätze aus Oracle nicht vollständig
Detlef
Hallo,
ich nutze folgenden Code um Oracle auszulesen. Hat auch immer ohne Probleme funktioniert. Nun werden es jeden Monat mehr Datensätze, da immer eine weitere Monatsscheibe hinzukommt.
Eigentlich müssen 33.401 Datensätze in Excel ankommen. Es sind aber nur 32.765. Der sql an sich ist In Ordnung. Wenn ich die Jahre 2008 und 2009 getrennt abfrage kommen in Summe alle Datensätze.
Sub ProcSqlCreate()
Dim strSQLString As String
Dim strFivServer As String
Dim strFormKopSP As Integer
Dim intFormKopZE As Integer
Dim verz As String
On Error Resume Next
strFivServer = Range("rP1.FIVServer").Value
verz = ActiveWorkbook.Path
'***da steht der sql drin
Open verz & "\SqlCreate.txt" For Input As #1
strSQLString = Input(LOF(1), 1)
Close #1
'***Position des Datenimports aus Oracle
strFormKopSP = 2 '***aufsetzen Importspalte
intFormKopZE = 2 '***aufsetzen Importzeile
procSQL_Beginn
Call procOracle(strSQLString, strFivServer, strFormKopSP, intFormKopZE)
procSQL_Ende
End Sub

Option Explicit
Sub procOracle(strSQLString As String, strSERVER As String, strFormKopSP As Integer,  _
intFormKopZE As Integer)
Dim cn         As Connection
Dim rs         As Recordset
Dim conn       As String
Dim SQLString  As String
Dim xx         As Worksheet   ' das Ziel-Tabellenblatt in Excel
Dim i          As Integer
Dim J          As Integer
Dim anzZeilen  As Integer
On Error GoTo fehler
Set xx = ActiveSheet  '***das Ziel-Tabellenblatt in Excel
'***Die datenbank öffnen
Set cn = New ADODB.Connection
Open "C:\AZ_DATEN\OraclePassW.txt" For Input As #1
conn = Input(LOF(1), 1)
Close #1
conn = conn & ";DRIVER={Microsoft ODBC for Oracle};SERVER=" & strSERVER + ";"
With cn
.ConnectionString = conn
.Open
End With
'***Definieren was geholt werden soll
SQLString = strSQLString
Set rs = New ADODB.Recordset
rs.Open SQLString, cn, adOpenDynamic, adLockReadOnly
'***Die Feldnamen der Datenbanktabelle in die definierte Zeile der Exceltabelle schreiben
For J = 0 To rs.Fields.Count - 1
xx.Cells(intFormKopZE, J + strFormKopSP) = rs.Fields.Item(J).Name '***und auf definerte  _
Spalte aufsetzen
Next
'***Jetzt alle Sätze holen und in die Exceltabelle schreiben
i = intFormKopZE '***auf Zeile 2 beginnen
rs.MoveFirst
Do While rs.EOF = False
i = i + 1
For J = 0 To rs.Fields.Count - 1
If IsNull(rs.Fields.Item(J).Value) = False Then
xx.Cells(i, J + strFormKopSP) = rs.Fields.Item(J).Value '***und auf die definierte  _
Spalte aufsetzen
End If
Next
rs.MoveNext
Loop
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
Set xx = Nothing
fehler:
Exit Sub
End Sub
Gibt es eine Begrenzung im Zusammenspiel Oracle und Excel? Ich Habe sonst keine Erklärung.
VG
Detlef

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datensätze aus Oracle nicht vollständig
23.10.2009 18:37:21
Jens
Hallo Detlef
Eine Vermutung:
Deklariere Deine Variablen mal als "Long" anstatt "Integer".
Gruß aus dem Sauerland
Jens
Besten Dank, das war's. VG Detlef
24.10.2009 21:12:42
Detlef
Danke für die Rückmeldung :o) (oT)
24.10.2009 22:24:12
Jens
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige