Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Section Access Works from Excel but fails from SQL

Hi,

I have section access working perfectly fine when my security details are imported from an excel file (sample attached) :

My Security script is :

SET ControlSheet = 'C:\ControlSheet.xls';

Section Access;

LOAD

    *

FROM

$(ControlSheet)

(biff, embedded labels, table is SA$);

Section Application;

//USE LINK TABLES IF FIELDS ARE NOT CAPITALISED IN THE MAIN DATAEXTRACT

SITESecurityLink:

Load * Inline [

SITE_LINKFIELD,            Site

INTERIOR SITE,              INTERIOIR SITE

];

TYPESecurityLink:

LOAD * Inline [

TYPE_LINKFIELD,     Type

TYPE 44 ,                  TYPE 44

];

//DOCUMENT SECURITY - SHOW HIDE TABS/OBJECTS

DOCSECURITY:

LOAD NTNAME, TABACCESS.SHEET1,TABACCESS.SHEET2 FROM $(ControlSheet)

(biff, embedded labels, table is SA$);

(My base data is then loaded from a qvd on the next tab)

When I create a sql table to match the excel file I cannot access the qvd.

Amended Script for SQL Security

OLEDB CONNECT TO .............

Section Access;

LOAD

    ACCESS,

    USERID,

    PASSWORD,

    NTDOMAINSID,

    SERIAL,

    NTNAME,

    SITE_LINKFIELD,

    TYPE_LINKFIELD,

    TABACCESS_SHEET1,

    TABACCESS_SHEET2;

SQL SELECT ACCESS,

           USERID,

           PASSWORD,

           NTDOMAINSID,

           SERIAL,

           NTNAME,

           SITE_LINKFIELD,

           TYPE_LINKFIELD,

           TABACCESS_SHEET1,

           TABACCESS_SHEET2

    FROM   qlikview_security;

Section Application;

//USE LINK TABLES IF FIELDS ARE NOT CAPITALISED IN THE MAIN DATAEXTRACT

SITESecurityLink:

Load * Inline [

SITE_LINKFIELD,            Site

INTERIOR SITE,              INTERIOR SITE

];

TYPESecurityLink:

LOAD * Inline [

TYPE_LINKFIELD,     Type

TYPE 44,                TYPE 44

];

I cant see if Im missing anythign ...Any help appreciated.

Fiorano

1 Solution

Accepted Solutions
Gysbert_Wassenaar

The section access field values all need to be in upper case. Sometimes it helps if you explicitly use the upper() function on the field values (even if they already are in upper case in the database).


talk is cheap, supply exceeds demand

View solution in original post

2 Replies
Gysbert_Wassenaar

The section access field values all need to be in upper case. Sometimes it helps if you explicitly use the upper() function on the field values (even if they already are in upper case in the database).


talk is cheap, supply exceeds demand
Not applicable
Author

Thanks and worked perfectly!

Section Access now looks like :

LOAD

    Upper(ACCESS) as ACCESS,

    Upper(USERID)as USERID,

    Upper(PASSWORD) as PASSWORD,

    UPPER(NTDOMAINSID) as NTDOMAINSID,

    etc

    etc