Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Using QlikView 10SR2 and the most current SalesForce connector. Running Publisher on a x64 server.
I have a simple extract file that selects records from a couple of Salesforce tables and creates QVDs. The file works fine from my desktop, and also runs fine when run from the QlikView desktop on the server where publisher is installed. However, when run as a publisher job, although it does not error or abend, it simply pulls 0 records. So it seems to connect fine and the SELECT statements are fine, but nothing is retrieved.
I've re-installed the connector, played with proxy settings, restarted services, restarted the server, all without success. Oddly, I tried to re-create the connection string along the way, and it actually ran ONCE from Publisher, but only that one time. All other attempts have failed.
When run from my workstation or from the Publisher/Server but using QlikView desktop, the log output is as follows:
0020 CUSTOM CONNECT*Provider*SalesForceDLL.dll*XUserId*XPassword*
0023 Portfolio:
0024 SQL SELECT *
0025 FROM Portfolio__c
237 fields found: Id, IsDeleted, Name, RecordTypeId, [etc... omitted to simplify post], 603 lines fetched
0027 STORE * FROM Portfolio INTO ..\Datasources\QVD\Salesforce\Portfolio.qvd (qvd)
0029 DROP TABLE Portfolio
0031 Account:
0032 SQL SELECT *
0033 FROM Account
334 fields found: Id, IsDeleted, MasterRecordId, Name, [etc... omitted to simplify post], 1,774 lines fetched
0035 STORE * FROM Account INTO ..\Datasources\QVD\Salesforce\Account.qvd (qvd)
0037 DROP TABLE Account
0039 exit script
Execution finished.
However, when run from Publisher, this same file generates a lot like the following, and retrieves no records:
0020 CUSTOM CONNECT*Provider*SalesForceDLL.dll*XUserId*XPassword*
0023 Portfolio:
0024 SQL SELECT *
0025 FROM Portfolio__c
1 fields found: *, 0 lines fetched
0027 STORE * FROM Portfolio INTO ..\Datasources\QVD\Salesforce\Portfolio.qvd (qvd)
0029 DROP TABLE Portfolio
0031 Account:
0032 SQL SELECT *
0033 FROM Account
1 fields found: *, 0 lines fetched
0035 STORE * FROM Account INTO ..\Datasources\QVD\Salesforce\Account.qvd (qvd)
0037 DROP TABLE Account
0039 exit script
Execution finished.
I've also tried using specific columns in the SELECT rather than the * wildcard, but no joy.
Any ideas from folks using Salesforce in a Server/Publisher environment? Thanks so much for any inputs or suggestions.
Thanks so much to all, resovled this, but wanted to update the information here for the potential benefit of others.
In my case, it was an organizational firewall issue that was preventing the SalesForce connector from reaching their datacenter. I found helpful information by searching the Salesforce site for "Mirrorforce" (which is the technology they use for the API Server). In that document, I found the ports that I needed to request open.
Here are the IP address blocks for the Salesforce relevant datacenters. Once I had our security folks open these, the connector worked as it should:
Ports: 80, 443
Hi,
I've never pulled data from SalesForce so no experience on that. But first thing I'd check is to see if the user configured to run the QV service has the same privileges as the user you logged in your workstation.
Hope this helps you
Fernando
Hi,
Did you try to use QlikTech's template for sales force?
http://us.demo.qlik.com/detail.aspx?appName=Salesforce.qvw
There, the connections string is similar but has an additional paramenter in the middle. I'm not sure if this may be thedifference.
Did you include the 26-char token in the password?
CUSTOMCONNECT TO "Provider=SalesForceDLL.dll;F21;UserId=$(SF_Username);Password=$(SF_Password);";
Regards,
Erich
Thank you Fernando, but the credentials for Salesforce are included in the connect string. And again, this same file works fine when run using Qlikview desktop on that same machine.
Thank you Erich. Although I've not tried to re-load the demo app, I have verified my connection string, and yes it appears much the same. The F21 you see there is the API level. And yes, the token is in the password. Again, it all runs fine from desktop (on both my development workstation and from the very same machine where Publisher is running.
When you use QV Desktop on the server is it x64 as well?
Which SalesForce connector did you install? x64 or x86 or both?
Does the Force32 checkbox make any difference in your case?
Regards,
Erich
It's a x64 machine, with x64 Server/Publisher, x64 Salesforce connector, and x64 QlikView desktop as well -- so 64 bit across the board.
When you connect using the Salesforce custom connector (with 64 bit anyway), the "Force32" checkbox is not available (it's disabled). I think the same is true when using Salesforce.com x32 connector.
Hi,
I know this might be too late, but I just had the same problem and have worked out the solution!
My original file SalesForceDLL.dll was saved in C:/Program Files on the server machine for the QVW. I think this may have been a legacy file from a previous installation of QVW (I am now running v10 SR4). I moved the file to here: C:\Program Files\QlikView\Distribution Service and it worked fine.
I worked out where to move it to by looking in the log from the QVW file - it said "Error: Invalid custom connector SalesForceDLL.dll" (I'm guessing you had this too?), and then it said something like "used file C:\Program Files\QlikView\Distribution Service\qvconnect64.exe". So I figured it was trying to look for files in that folder.
Worked fine for me, hope it does for you too!
Sarah
HI,
Did you leased a license to the Service Account?
Assign a license to Service account and lease it by logging into the Service account. if you have a cluster you have to lease in the machines running QDS. Hope this helps
Thanks so much to all, resovled this, but wanted to update the information here for the potential benefit of others.
In my case, it was an organizational firewall issue that was preventing the SalesForce connector from reaching their datacenter. I found helpful information by searching the Salesforce site for "Mirrorforce" (which is the technology they use for the API Server). In that document, I found the ports that I needed to request open.
Here are the IP address blocks for the Salesforce relevant datacenters. Once I had our security folks open these, the connector worked as it should:
Ports: 80, 443