Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: Doc Torte am 27.11.02 - 17:23:34
-
H@llo Notes-Nation !
ich will da mal wieder ein Problem haben...
über eine ODBC Verbindung bin ich mit einem SQL-Server verbunden, kann auch Datensätze lesen und schreiben, alles machen was ich so möchte, nur das Problem :
wenn ich alle Datensätze über die Query selektieren möchte, (ca. 66000) und diese in einer Schleife nacheinander bearbeiten möchte, ist die letzte Row die ich bearbeiten kann die 4368ste, gibt es da eine Beschränkung von Notes, das nicht mehr Daten ins ODBCResultSet hineinpassen ?
hat da jemand Erfahrung mit ? oder vielleicht eine schleife, mit der ich das Problem umgehen kann ?
jeder Kommentar hilft vielleicht !
Danke
-
Hi Torte,
das Problem ist m E kein Notes-Problem sondern eher eine Einstellung der ODBC-Verbindung. Unter Fetch oder so ähnlich kann man die Anzahl der Datensätze bestimmen
;D MOD
-
... ich habe die Parameter alle recht hoch gesetzt, sollte er also ohne weiteres lesen können.
mein Coding:
(Connection ist vorhanden)
Set xQuery.Connection = ODBC_Connection
xQuery.SQL = xSQLQuery
Set xResult.Query = xQuery
xResult.Execute
xResult.MaxRows = 100000
xResult.CacheLimit = 100000
xResult.FetchBatchSize = 100000
i = 0
RowFlag = xresult.FirstRow
Do While RowFlag = True
*hier werden die Rows verarbeitet
i = i + 1
RowFlag = xresult.NextRow
Loop
i - dient mir als Zähler um die Reihenanzahl zu ermitteln.
aber versteh einer diese Welt... ?!
-
... über die Grenzen weiß ich nichts, allerdings hate ich bislang schon Importe mit bedeutend mehr Datensätzen. Hast du das dingens mal debuggt - vielleicht steigt dein Code mit einem anderen Problem aus - der 4368ste Durchlauf hat irgend einen nicht validierten Wert - oder etwas derartiges...
... oder du verwendest Integer als Zähler und die verlassen irgendwann ihren Gültigkeitsbereich...
... der ganz normale Wahnsinn eben...
ata
-
..hm, ich hab ein wenig probiert und da ist mir einiges aufgefallen.
also erstmal zu dem Rahmen in SQL - das Table auf das ich zugreife hat 32 Spalten und ich brauche alle Werte der einelnen Rows.
wenn ich mit dem Query - Select * From CDPACCESS - bekomme ich nur die besagten 4368 Rows
wenn ich aber nur eine Spalte selectiere mit - Select Customer from CDPACCESS - , dann bekomme ich zwar die 66000 Rows aber ich habe keine Daten aus den anderen Spalten, und ich brauch genau diese !
...kann man die Erfindung der digitalen Datenverarbeitung nicht wieder rückgängig machen ? ;-)
-
guck mal hier
http://eknori.dyndns.org/knowledge/kbnv11.nsf/34ccb724696466a48525667500536b5e/6b652ada5ca532f485256843007370d6?OpenDocument&Highlight=0,ODBCResultSet
eknori
-
DANKE,
komisch das ich das in der Knowlege Base nicht gefunden hatte.
jetzt läuft´s wie es soll !
naja, aber ich mach das eben erst seit einem Jahr...