Efficient way to get data from lotus notes viewHow to export Rich Text fields as HTML from Notes with LotusScript?Peak detection in a 2D arrayWhy is reading lines from stdin much slower in C++ than Python?lotus notes 5 getdocumentbykey not working if view is open“Large data” work flows using pandasLotus Notes View with multiline data Export to ExcelHow to retrieve Lotus Notes attachments?How to export data from a IBM Lotus Notes Database using JavaGetting data from MS SQL database to Lotus Notes DatabaseGetting a view in lotus notes out of data from MySQL
Connection Between Knot Theory and Number Theory
PTIJ: Which Dr. Seuss books should one obtain?
Why is participating in the European Parliamentary elections used as a threat?
When is the exact date for EOL of Ubuntu 14.04 LTS?
Highest stage count that are used one right after the other?
Unfrosted light bulb
How can I, as DM, avoid the Conga Line of Death occurring when implementing some form of flanking rule?
Are hand made posters acceptable in Academia?
I keep switching characters, how do I stop?
How do you justify more code being written by following clean code practices?
Have any astronauts/cosmonauts died in space?
Why can't I get pgrep output right to variable on bash script?
What is the tangent at a sharp point on a curve?
A seasonal riddle
Output visual diagram of picture
How do I prevent inappropriate ads from appearing in my game?
What is the meaning of "You've never met a graph you didn't like?"
Magnifying glass in hyperbolic space
Sort with assumptions
C++ lambda syntax
1 John in Luther’s Bibel
"Marked down as someone wanting to sell shares." What does that mean?
Writing in a Christian voice
Would a primitive species be able to learn English from reading books alone?
Efficient way to get data from lotus notes view
How to export Rich Text fields as HTML from Notes with LotusScript?Peak detection in a 2D arrayWhy is reading lines from stdin much slower in C++ than Python?lotus notes 5 getdocumentbykey not working if view is open“Large data” work flows using pandasLotus Notes View with multiline data Export to ExcelHow to retrieve Lotus Notes attachments?How to export data from a IBM Lotus Notes Database using JavaGetting data from MS SQL database to Lotus Notes DatabaseGetting a view in lotus notes out of data from MySQL
I am trying to get all data from view(Lotus Notes) with lotusscript and Python(noteslib module) and export it to csv, but problem is that this takes too much time. I have tried two ways with loop through all documents:
import noteslib
db = noteslib.Database('database','file.nsf')
view = db.GetView('My View')
doc = view.GetFirstDocument()
data = list()
while doc:
data.append(doc.ColumnValues)
doc = view.GetNextDocument(doc)
To get about 1000 lines of data it took me 70 seconds, but view has about 85000 lines so get all data will be too much time, because manually when I use File->Export in Lotus Notes it is about 2 minutes to export all data to csv.
And I tried second way with AllEntries, but it was even slower:
database = []
ec = view.AllEntries
ent = ec.Getfirstentry()
while ent:
row = []
for v in ent.Columnvalues:
row.append(v)
database.append(row)
ent = ec.GetNextEntry(ent)
Everything that I found on the Internet is based on "NextDocument" or "AllEntries". Is there any way to do it faster?
python lotus-domino lotusscript
add a comment |
I am trying to get all data from view(Lotus Notes) with lotusscript and Python(noteslib module) and export it to csv, but problem is that this takes too much time. I have tried two ways with loop through all documents:
import noteslib
db = noteslib.Database('database','file.nsf')
view = db.GetView('My View')
doc = view.GetFirstDocument()
data = list()
while doc:
data.append(doc.ColumnValues)
doc = view.GetNextDocument(doc)
To get about 1000 lines of data it took me 70 seconds, but view has about 85000 lines so get all data will be too much time, because manually when I use File->Export in Lotus Notes it is about 2 minutes to export all data to csv.
And I tried second way with AllEntries, but it was even slower:
database = []
ec = view.AllEntries
ent = ec.Getfirstentry()
while ent:
row = []
for v in ent.Columnvalues:
row.append(v)
database.append(row)
ent = ec.GetNextEntry(ent)
Everything that I found on the Internet is based on "NextDocument" or "AllEntries". Is there any way to do it faster?
python lotus-domino lotusscript
If you were using LotusScript, I would recommend usingNotesViewNavigator
. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation onNotesViewNavigator
: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…
– Dave Delay
Feb 23 at 15:01
Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code:db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc)
It took about 146 seconds to get 1000 rows of data.
– Ala Cris
Feb 24 at 17:33
Where does your code run ? directly on the Domino server or on a client?
– umeli
Feb 25 at 9:50
I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.
– Ala Cris
Feb 25 at 14:31
Then I suggest to replicate the database locally..
– umeli
Feb 26 at 9:25
add a comment |
I am trying to get all data from view(Lotus Notes) with lotusscript and Python(noteslib module) and export it to csv, but problem is that this takes too much time. I have tried two ways with loop through all documents:
import noteslib
db = noteslib.Database('database','file.nsf')
view = db.GetView('My View')
doc = view.GetFirstDocument()
data = list()
while doc:
data.append(doc.ColumnValues)
doc = view.GetNextDocument(doc)
To get about 1000 lines of data it took me 70 seconds, but view has about 85000 lines so get all data will be too much time, because manually when I use File->Export in Lotus Notes it is about 2 minutes to export all data to csv.
And I tried second way with AllEntries, but it was even slower:
database = []
ec = view.AllEntries
ent = ec.Getfirstentry()
while ent:
row = []
for v in ent.Columnvalues:
row.append(v)
database.append(row)
ent = ec.GetNextEntry(ent)
Everything that I found on the Internet is based on "NextDocument" or "AllEntries". Is there any way to do it faster?
python lotus-domino lotusscript
I am trying to get all data from view(Lotus Notes) with lotusscript and Python(noteslib module) and export it to csv, but problem is that this takes too much time. I have tried two ways with loop through all documents:
import noteslib
db = noteslib.Database('database','file.nsf')
view = db.GetView('My View')
doc = view.GetFirstDocument()
data = list()
while doc:
data.append(doc.ColumnValues)
doc = view.GetNextDocument(doc)
To get about 1000 lines of data it took me 70 seconds, but view has about 85000 lines so get all data will be too much time, because manually when I use File->Export in Lotus Notes it is about 2 minutes to export all data to csv.
And I tried second way with AllEntries, but it was even slower:
database = []
ec = view.AllEntries
ent = ec.Getfirstentry()
while ent:
row = []
for v in ent.Columnvalues:
row.append(v)
database.append(row)
ent = ec.GetNextEntry(ent)
Everything that I found on the Internet is based on "NextDocument" or "AllEntries". Is there any way to do it faster?
python lotus-domino lotusscript
python lotus-domino lotusscript
asked Feb 22 at 10:48
Ala CrisAla Cris
113
113
If you were using LotusScript, I would recommend usingNotesViewNavigator
. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation onNotesViewNavigator
: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…
– Dave Delay
Feb 23 at 15:01
Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code:db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc)
It took about 146 seconds to get 1000 rows of data.
– Ala Cris
Feb 24 at 17:33
Where does your code run ? directly on the Domino server or on a client?
– umeli
Feb 25 at 9:50
I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.
– Ala Cris
Feb 25 at 14:31
Then I suggest to replicate the database locally..
– umeli
Feb 26 at 9:25
add a comment |
If you were using LotusScript, I would recommend usingNotesViewNavigator
. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation onNotesViewNavigator
: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…
– Dave Delay
Feb 23 at 15:01
Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code:db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc)
It took about 146 seconds to get 1000 rows of data.
– Ala Cris
Feb 24 at 17:33
Where does your code run ? directly on the Domino server or on a client?
– umeli
Feb 25 at 9:50
I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.
– Ala Cris
Feb 25 at 14:31
Then I suggest to replicate the database locally..
– umeli
Feb 26 at 9:25
If you were using LotusScript, I would recommend using
NotesViewNavigator
. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation on NotesViewNavigator
: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…– Dave Delay
Feb 23 at 15:01
If you were using LotusScript, I would recommend using
NotesViewNavigator
. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation on NotesViewNavigator
: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…– Dave Delay
Feb 23 at 15:01
Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code:
db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc)
It took about 146 seconds to get 1000 rows of data.– Ala Cris
Feb 24 at 17:33
Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code:
db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc)
It took about 146 seconds to get 1000 rows of data.– Ala Cris
Feb 24 at 17:33
Where does your code run ? directly on the Domino server or on a client?
– umeli
Feb 25 at 9:50
Where does your code run ? directly on the Domino server or on a client?
– umeli
Feb 25 at 9:50
I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.
– Ala Cris
Feb 25 at 14:31
I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.
– Ala Cris
Feb 25 at 14:31
Then I suggest to replicate the database locally..
– umeli
Feb 26 at 9:25
Then I suggest to replicate the database locally..
– umeli
Feb 26 at 9:25
add a comment |
2 Answers
2
active
oldest
votes
Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.
You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.
My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:
First attempt:
while doc:
doc = view.GetNextDocument(doc)
Slow?
If not then next attempt:
while doc:
arr = doc.ColumnValues
doc = view.GetNextDocument(doc)
Slow?
If yes: ColumnValues is your enemy...
If not then next attempt:
while doc:
arr = doc.ColumnValues
data.append(arr)
doc = view.GetNextDocument(doc)
I would be very interested to get your results of where it starts to become slow.
Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is onlydoc = view.GetNextDocument(doc)
it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).
– Ala Cris
Feb 25 at 15:06
add a comment |
It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.
Set col = view.AllEntries
Set entry = col.GetFirstEntry()
Do Until entry Is Nothing
values = entry.ColumnValues '*** Array of column values
'*** Do stuff here
Set entry = col.GetNextEntry(entry)
Loop
I wrote a blog about this back in 2013:
http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54825425%2fefficient-way-to-get-data-from-lotus-notes-view%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.
You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.
My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:
First attempt:
while doc:
doc = view.GetNextDocument(doc)
Slow?
If not then next attempt:
while doc:
arr = doc.ColumnValues
doc = view.GetNextDocument(doc)
Slow?
If yes: ColumnValues is your enemy...
If not then next attempt:
while doc:
arr = doc.ColumnValues
data.append(arr)
doc = view.GetNextDocument(doc)
I would be very interested to get your results of where it starts to become slow.
Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is onlydoc = view.GetNextDocument(doc)
it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).
– Ala Cris
Feb 25 at 15:06
add a comment |
Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.
You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.
My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:
First attempt:
while doc:
doc = view.GetNextDocument(doc)
Slow?
If not then next attempt:
while doc:
arr = doc.ColumnValues
doc = view.GetNextDocument(doc)
Slow?
If yes: ColumnValues is your enemy...
If not then next attempt:
while doc:
arr = doc.ColumnValues
data.append(arr)
doc = view.GetNextDocument(doc)
I would be very interested to get your results of where it starts to become slow.
Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is onlydoc = view.GetNextDocument(doc)
it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).
– Ala Cris
Feb 25 at 15:06
add a comment |
Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.
You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.
My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:
First attempt:
while doc:
doc = view.GetNextDocument(doc)
Slow?
If not then next attempt:
while doc:
arr = doc.ColumnValues
doc = view.GetNextDocument(doc)
Slow?
If yes: ColumnValues is your enemy...
If not then next attempt:
while doc:
arr = doc.ColumnValues
data.append(arr)
doc = view.GetNextDocument(doc)
I would be very interested to get your results of where it starts to become slow.
Something is going on with your code "outside" the view navigation: You already chose the most performant way to navigate a view using "GetFirstDocument" and "GetNextDocument". Using the NotesViewNavigator as mentioned in the comments will be slightly better, but not significant.
You might get a little bit of performance out of your code by setting view.AutoUpdate = False to prohibit the view object to refresh when something in the backend changes. But as you only read data and not change view data that will not give you much of a performance boost.
My suggestion: Identify the REAL bottleneck of your code by commenting out single sections to find out when it starts to get slower:
First attempt:
while doc:
doc = view.GetNextDocument(doc)
Slow?
If not then next attempt:
while doc:
arr = doc.ColumnValues
doc = view.GetNextDocument(doc)
Slow?
If yes: ColumnValues is your enemy...
If not then next attempt:
while doc:
arr = doc.ColumnValues
data.append(arr)
doc = view.GetNextDocument(doc)
I would be very interested to get your results of where it starts to become slow.
answered Feb 25 at 8:03
Torsten LinkTorsten Link
8,2601130
8,2601130
Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is onlydoc = view.GetNextDocument(doc)
it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).
– Ala Cris
Feb 25 at 15:06
add a comment |
Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is onlydoc = view.GetNextDocument(doc)
it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).
– Ala Cris
Feb 25 at 15:06
Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only
doc = view.GetNextDocument(doc)
it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).– Ala Cris
Feb 25 at 15:06
Thanks for your response! I tried out your ideas, and I still don't know what is the problem. When in the loop there is only
doc = view.GetNextDocument(doc)
it took 6s for 100 rows and 39s for 1000 rows. With append it was 7s and 66s. In my opinion this difference is because of amount of columns. But still 39s for 1000 rows gives about 55 minutes to take all data from database view(85 000 rows).– Ala Cris
Feb 25 at 15:06
add a comment |
It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.
Set col = view.AllEntries
Set entry = col.GetFirstEntry()
Do Until entry Is Nothing
values = entry.ColumnValues '*** Array of column values
'*** Do stuff here
Set entry = col.GetNextEntry(entry)
Loop
I wrote a blog about this back in 2013:
http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/
add a comment |
It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.
Set col = view.AllEntries
Set entry = col.GetFirstEntry()
Do Until entry Is Nothing
values = entry.ColumnValues '*** Array of column values
'*** Do stuff here
Set entry = col.GetNextEntry(entry)
Loop
I wrote a blog about this back in 2013:
http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/
add a comment |
It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.
Set col = view.AllEntries
Set entry = col.GetFirstEntry()
Do Until entry Is Nothing
values = entry.ColumnValues '*** Array of column values
'*** Do stuff here
Set entry = col.GetNextEntry(entry)
Loop
I wrote a blog about this back in 2013:
http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/
It is (or at least used to be) very expensive from a time standpoint to open a Notes document, like you are doing in your code.
Since you are saying that you want to export the data that is being displayed in the view, you could use the NotesViewEntry class instead. It should be much faster.
Set col = view.AllEntries
Set entry = col.GetFirstEntry()
Do Until entry Is Nothing
values = entry.ColumnValues '*** Array of column values
'*** Do stuff here
Set entry = col.GetNextEntry(entry)
Loop
I wrote a blog about this back in 2013:
http://blog.texasswede.com/which-is-faster-columnvalues-or-getitemvalue/
answered Mar 7 at 20:30
Karl-Henry MartinssonKarl-Henry Martinsson
2,3001020
2,3001020
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54825425%2fefficient-way-to-get-data-from-lotus-notes-view%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
If you were using LotusScript, I would recommend using
NotesViewNavigator
. That's very efficient, but I don't know if the Python module has something similar. Fwiw, here's the documentation onNotesViewNavigator
: ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/…– Dave Delay
Feb 23 at 15:01
Thanks for you response. In Python I can use every COM classes from LotusNotes. I tried to use NotesViewNavigator, the problem is that time is similar to other methods. Maybe this is normal and I expect too much? This is my code:
db = noteslib.CurrentDatabase view = db.GetView('My view') nav = view.CreateViewNav() doc = nav.GetFirst() view.AutoUpdate = False list_of_data = [] for i in range(1000): list_of_data.append(doc.ColumnValues) doc = nav.Getnext(doc)
It took about 146 seconds to get 1000 rows of data.– Ala Cris
Feb 24 at 17:33
Where does your code run ? directly on the Domino server or on a client?
– umeli
Feb 25 at 9:50
I'm normal user of Domino client, my IT team told us, that they won't create agent which will take data for us. So I wanted to make it by myself, I don't have permission to Domino server.
– Ala Cris
Feb 25 at 14:31
Then I suggest to replicate the database locally..
– umeli
Feb 26 at 9:25