You need to sign in to do that
Don't have an account?
KerrySainsbury
SFDC *just* as a database?
Hi Folks,
I'm working on a project which is considering trying to use SFDC purely as a database -- nobody cares about its CRM abilities, or user interface.
The intention is to use (as yet undetermined) generic forms engines and generic reporting tools as the front end to this SFDC database.
A casual look at DBAmp (as a Linked Server in SQL Server) suggests that it could be used to glue these front end tools to SFDC, but a closer reading of the documentation suggests that this will incur large performance issues as the database grows in size -- because of the way that SQL Server will first pull down the entire content of the table being queried or updated.
I recognise that the solution to this is to rewrite the query to use the SQL Server's 'OPENQUERY' syntax, but it seems (to me) highly unlikely that an off-the-shelf forms engine or reporting tool would be capable of generating SQL with this 'OPENQUERY' syntax.
Have you encountered this sort of use of SFDC before? Is there something that I'm missing?
If there isn't any obvious solution to the issue above, I guess our options are:
- Using DBAmp to replicate data down to SQL Server, and just using the 'generic' tools against SQL Server
- Finding SFDC / DBAmp 'aware' tools for the forms and reporting engines (any pointers?)
- Not use SFDC like this
Has anybody been down this path before? Any suggestions?
Thanks,
Kerry
I'm working on a project which is considering trying to use SFDC purely as a database -- nobody cares about its CRM abilities, or user interface.
The intention is to use (as yet undetermined) generic forms engines and generic reporting tools as the front end to this SFDC database.
A casual look at DBAmp (as a Linked Server in SQL Server) suggests that it could be used to glue these front end tools to SFDC, but a closer reading of the documentation suggests that this will incur large performance issues as the database grows in size -- because of the way that SQL Server will first pull down the entire content of the table being queried or updated.
I recognise that the solution to this is to rewrite the query to use the SQL Server's 'OPENQUERY' syntax, but it seems (to me) highly unlikely that an off-the-shelf forms engine or reporting tool would be capable of generating SQL with this 'OPENQUERY' syntax.
Have you encountered this sort of use of SFDC before? Is there something that I'm missing?
If there isn't any obvious solution to the issue above, I guess our options are:
- Using DBAmp to replicate data down to SQL Server, and just using the 'generic' tools against SQL Server
- Finding SFDC / DBAmp 'aware' tools for the forms and reporting engines (any pointers?)
- Not use SFDC like this
Has anybody been down this path before? Any suggestions?
Thanks,
Kerry
Hi Bill,
The DBAmp documentation (page 14, "Updating tells me that:
Hi Bill,
The DBAmp documentation (page 14, "Updating and tells me that:
Let's try that again... :-)
page 14 "Updating and Deleting rows using SQL" of the DBAmp Install Guide, using the following SQL sample:
Update SALESFORCE…Account
Set AnnualRevenue = 4000
Where Id='00130000005ZsG8AAK'
Says "...that SQL Server will retrieve the entire Account table from Salesforce and then search for the one row that has the Id of 00130000005ZsG8AAK. Then, SQL Server will update the AnnualRevenue of that row"
It then says "Obviously, this UPDATE statement has poor performance which gets worse as the size of the Account table grows"
It goes on to explain how this performance issue can be removed using SQL Server's "OPENQUERY" clause, eg:
Update OPENQUERY(SALESFORCE,
'Select AnnualRevenue from Account
where Id=''00130000005ZsG8AAK'' ')
set AnnualRevenue = 4000
Now this is entirely fine if I am in control of the SQL being used to query SFDC, but if I'm using some generic forms tool that is using simple ANSI SQL, then it seems to me that this isn't going to work very well. What I'm hoping to get from this group is confirmation that I've not missed something for this specific use-case.
Can I take it that I would get far better performance if I was talking to SFDC using OPENQUERY-ised SQL (possibly wrapped in a view), or by using direct webservices calls?
Also, how does the decision to use SQL Server 2000 vs. 2005 affect this?
I am working with a trial DBAmp now, but it turns out that my developer SFDC account maxes out at 2mb of space so isn't a great way to prove performance / scaleability issues :-) I'm working on getting more space!
Thanks very much for your time. It's greatly appreciated.
Kerry
Hi Kerry,
Based on your comments and your need to work with any 'generic' forms tool, I do not believe that the DBAmp / SQL Server solution is right for you.
Thanks,
Bill Emerson
forceAmp.com