Key Performance Tool error

dsatria
Member Posts: 80
Hi,
We're using NAV 4.0 without SP with SQL Option (SQL 2000 SP3a)
I successfully installed "Key Information Tool".fob and setup SQL Connection (Test Connection succeeded)
Load Text Objects didn't return any error but when we clicked "Get SIFT Info" threw an error like this:

Any idea what's wrong? I tried with 2 tables (G/L Entry and Warehouse Entries) but same error occured.
Thanks in advance
Regards,
David
We're using NAV 4.0 without SP with SQL Option (SQL 2000 SP3a)
I successfully installed "Key Information Tool".fob and setup SQL Connection (Test Connection succeeded)
Load Text Objects didn't return any error but when we clicked "Get SIFT Info" threw an error like this:

Any idea what's wrong? I tried with 2 tables (G/L Entry and Warehouse Entries) but same error occured.
Thanks in advance
Regards,
David
0
Answers
-
Hi David,
well, I guess you have to debug this - I don't have the tool available, but obviously there's something wrong with the ADO connection string:
There should be a line like this:... ADOConnection.DefaultDatabase(GetCurrentDatabase); ...
And the function should look like this:GetCurrentDatabase() : Text[250] Databases.SETRANGE("My Database", TRUE); Databases.FINDFIRST; EXIT(STRSUBSTNO('[%1]', Databases."Database Name"));
If this does not work, maybe you could "hard-code" the default db?!
But: if you are trying to fix some SIFT issues, maybe this could also help:
http://dynamicsuser.net/blogs/stryk/archive/2010/05/29/optimizing-sift-and-vsift.aspx
Regards,
JörgJörg A. Stryk (MVP - Dynamics NAV)
NAV/SQL Performance Optimization & Troubleshooting
STRYK System Improvement
The Blog - The Book - The Tool0 -
Hi Jörg,
Thanks for your reply
There is a line like you mentioned but with slightly different name, i.e. GetCurrentDB instead of GetCurrentDatabase
But the function code is totally different:SessionInfo.SETRANGE(SessionInfo."My Session",TRUE); IF SessionInfo.FIND('-') THEN DBName := SessionInfo."Database Name"; IF (STRPOS(DBName,'.') <> 0) OR (STRPOS(DBName,'-') <> 0) THEN DBName := '[' + DBName + ']'; EXIT(DBName);
Using Debugger I can assure you that DBName variable contains correct database name.
Is there any other information I can supply you to make things clearer?
Regards,
David
PS. Thanks for the URL to the article regarding SIFT, I'm reading it now...0 -
Hi all,
The problem turned out to be our database name which contains spaces
So changing the function code will solve it:... IF (STRPOS(DBName,'.') <> 0) OR (STRPOS(DBName,'-') <> 0) OR (STRPOS(DBName,' ') <> 0) THEN DBName := '[' + DBName + ']'; ...
Thanks and regards,
David0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions