dotConnect for Salesforce Frequently Asked Questions
What is the difference between the Standard and Professional editions?
The Standard Edition represents a fully-featured ADO.NET data provider with design time support and advanced classes. The Professional Edition adds more classes, tools, technologies, and integration capabilities. The following list briefly enumerates the main advantages of Professional Edition.
- The Entity Framework support allows you to employ the latest conceptual technology from Microsoft.
- dotConnect for Salesforce Professional Edition comes with Entity Developer - advanced visual designer for Entity Framework models
To test this functionality, use the Trial Edition, which incorporates all aforementioned features.
Installation and deployment
I installed dotConnect for Salesforce trial, then I have bought and installed the purchased version, but something went wrong.
Make sure you have uninstalled the trial version correctly. There should be no old (trial) assemblies present in your system. Uninstall dotConnect for Salesforce and check your Global Assembly Cache and local folders for Devart.* assemblies. Remove all Devart.* files and reinstall dotConnect for Salesforce.
How do I upgrade to a newer version of dotConnect for Salesforce?
Close all running IDEs and help collections, then run the installation package of the newer version. You will be prompted to uninstall the previous version; agree and then proceed to installing the newer build.
How do I deploy my application?
To deploy an application written with dotConnect for Salesforce, you need to:
- deploy the Devart runtime assemblies used by your application;
- include the technical license resource;
- in case your application uses provider factories, you also need to expose dotConnect for Salesforce to the system.
How to install dotConnect for Salesforce on a machine that does not have Visual Studio installed?
Select the "Minimal" type when prompted by the installer.
I have received a message that Devart.Data is incompatible...
Devart data providers use a common assembly (Devart.Data.dll), so it is necessary to install compatible providers versions. We release our ADO.NET data providers in a single pack, thus releases from the same date should be compatible. Also, Devart data providers should warn you before installation if an incompatible version of Devart.Data.dll was detected.
I have received the following message - "error 0175: The specified store provider cannot be found in the configuration, or is not valid..". What does it mean and what should I do?
You should put the Devart.Data, Devart.Data.Salesforce, and Devart.Data.Salesforce.Entity.EF<Version> The <Version> here is the version of Entity Framework used in your application. For Entity Framework v1 the assembly is called Devart.Data.Salesforce.Entity.EF1.dll, for Entity Framework v4 and v5 it is Devart.Data.Salesforce.Entity.EF4.dll, for Entity Framework v6 it is Devart.Data.Salesforce.Entity.EF6.dll. For Entity Framework Core it is Devart.Data.Salesforce.Entity.EFCore.dll. assemblies in the Bin folder of your application (or place these assemblies in the Global Assembly Cache). Make sure that your application is licensed correctly (take a look at the Licensing article for more information).
Please note that there are three versions of Devart.Data.Salesforce.Entity.EFCore.dll assemblies for different Entity Framework Core versions - 1.1, 2.2, and 3.1. They are located respectively in \Entity\EFCore, \Entity\EFCore2, and \Entity\EFCore3 subfolders of the dotConnect for Salesforce installation folder.
Information about provider registering is available in the Deployment article.
Subscriptions and Upgrades
I have a registered version of dotConnect for Salesforce. Will I need to pay to upgrade to future versions?
All upgrades to future versions are free to users with an active dotConnect for Salesforce Subscription.
What are the benefits of the dotConnect for Salesforce Subscription Program?
Users with a valid dotConnect for Salesforce Subscription get the following benefits:
- Access to new versions of dotConnect for Salesforce when they are released
- Access to all dotConnect for Salesforce updates and bug fixes
- Product support through the dotConnect for Salesforce Priority Support program
- Notification of new product versions
Priority Support is an advanced product support program which offers you expedited individual assistance with dotConnect for Salesforce-related questions from the dotConnect for Salesforce developers themselves. Priority Support is carried out over email and has a two business day response policy.
Can I use my version of dotConnect for Salesforce after my Subscription expires?
Yes, you can. dotConnect for Salesforce version licenses are perpetual.
What is the licensing you use?
dotConnect for Salesforce uses .NET component licensing. To build an operational application, dotConnect for Salesforce requires a valid license. If no license is available, dotConnect for Salesforce does not work.
How to embed the license into my application?
Usually you do not have to care about embedding the license in your application.
When you install dotConnect for Salesforce, the system is configured so that licensing
is done transparently. The license is automatically added to the project when you
place a SalesforceConnection component onto a form.
In some cases, you have to manually add the license. For instructions on how to add the license manually, refer to the Licensing topic in the dotConnect for Salesforce help.
On opening the connection, I get an exception saying "License not found...". What should I do?
This generally indicates that license information cannot be found, or you try to apply it in some way that does not suit the kind of application. For example:
- The licenses.licx file, required for dotConnect for Salesforce to function properly, cannot be found.
- The licenses.licx file is not added as an embedded resource.
- The App_Licenses.dll file is not found in ASP.NET applications.
To fix the problem, determine the type of your application and read the corresponding section of the "Licensing" topic.
On opening the connection, I get an exception saying "License not valid...". What should I do?
This means that license information is found but it is incorrect. It usually happens in the following cases:
- The project was earlier compiled with an old or trial version of dotConnect for Salesforce.
- The licenses.config file used by a class library does not refer to the launched executable.
- The App_Licenses.dll file belongs to other application or needs to be recompiled.
- Something is wrong with the operating system or installation of dotConnect for Salesforce.
If you encounter one of these problems, do the following (the numbers of actions correspond to the numbers of the problems in the above list):
- Delete all files from the bin and obj folders and rebuild the project.
- Specify the executable in the licenses.config file.
- Rebuild App_Licenses.dll for the current application.
Perform the following steps:
- uninstall dotConnect for Salesforce;
- remove all Devart.* and policy.*.Devart.* files from the GAC;
- clear the Program Files\Devart\dotConnect and Program Files\Common Files\Devart\dotConnect folders;
- re-install dotConnect for Salesforce.
Deployed application worked fine some time, but at some moment it started to say "Sorry, your trial period has expired". But I do not use trial version any more.
Probably, you compiled the application with the Trial edition of dotConnect for Salesforce, and deployed it with assemblies from a non-trial version. In this case, time limit is actual as well. To eliminate the problem, just recompile the project.
How to license ASP.NET applications?
To support server-side compilation you ought to have the special assembly App_Licenses.dll in the Bin directory of your site. To create this assembly, execute the Build Runtime Licenses command in the licenses.licx file context menu in the Solution Explorer view. The required assembly will be created automatically.
Note that this is not necessary for precompiled ASP.NET applications (if nothing is compiled on the server by user request). Precompiled applications are licensed as usual applications.
I am having problems with the licensing in my project... What am I to do?
If any problems with licensing occurred in your project, you should use the License Information dialog to resolve them. You can access it from the Visual Studio menu: Tools | Salesforce | License Information.
Do end-users need a license?
No, end-users of your application do not require any license.
I call SalesforceConnection.Open(), then Close(). The physical connection is still visible by the server. Isn't it a bug?
No, it is not. This is the Connection Pooling feature. The actual connection is not closed in order to be used later by your application. This boosts performance greatly.
I get the following exception: "Timeout expired. The timeout period elapsed..." What to do?
The full text of the exception is "Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached." It clearly states that you have run out of connections available. To solve the problem, increase the Max Pool Size connection string parameter value. The default value is 100. Another way to get extra connections is to clear one or all of the pools. Or you can turn connection pooling off using the Pooling connection string parameter.
How to prevent possible pooling problems?
You can clear the pool explicitly. Generally, the pool is cleared automatically when connections are idle or closed by the server. To force the operation, call the ClearPool or ClearAllPools methods. Another solution is to disable the pool completely (set Pooling=false in the connection string). If this does not help, the problem is not caused by pooling.
How to open documentation on dotConnect for Salesforce?
There are several ways to open dotConnect for Salesforce documentation:
- Use the appropriate shortcut in the Start menu, for instance, Start - Programs - Devart dotConnect for Salesforce - Documentation .
- Use the following command in the IDE: Tools - Salesforce - dotConnect for Salesforce Help .
- Place the cursor on some class from Devart.Data.Salesforce and press F1.
There is also the same documentation in the chm format. You can download it from our web-site at the following address: www.devart.com/dotconnect/salesforce/dcsalesforce.chm
I can't see the documentation in Visual Studio Help Collection.
Correctly installed documentation appears as a separate node in the combined collection of Visual Studio. If you can't find the dotConnect for Salesforce node there, it is because topics filtering is enabled. To reveal the node, set the filter to "Devart Documentation", or "(unfiltered)", or "Visual C#", etc.
Another possible reason is that you installed some IDE after the installation of dotConnect for Salesforce. In this case, use aforementioned methods to access documentation.
All topics in the CHM file are blank.
This can happen due to some patches from Microsoft installed on your system. Please read this page to find possible solutions to the problem. In most cases, it is enough to right-click the CHM file, select Properties, click the "Unblock" button and click "Apply" to show the contents.
Is Entity Framework supported?
The Professional Edition of dotConnect for Salesforce supports the latest version of ADO.NET Entity Framework.
Are there any demo projects to play with?
dotConnect for Salesforce comes with Demo Center application, which demonstrates main dotConnect for Salesforce features. Among other features, this application demonstrates LINQ to Entities query execution.
Are there any restrictions for Visual Studio Express editions?
Yes, there are some. First, the provider add-in (and hence menu item) is not available. Second, components are not registered in toolbox automatically (though you can do it manually). Finally, advanced Visual Studio integration (DDEX) is not available, except Microsoft Web Developer Express 2008 and 2010.
No components can be found in the toolbox.
This can happen if the installation encountered some problems. You can add the components to the toolbox manually. This procedure is described in the Installation article in the documentation.
dotConnect for Salesforce says it uses a different version of assemblies.
Delete all policy files used by dotConnect for Salesforce from the GAC.
Can I use dotConnect for Salesforce assemblies in the x64 process?
dotConnect for Salesforce assemblies are built with the /platform:anycpu option. So, you can use the provider's assemblies on any platform (x86 or x64). For more information, refer to https://msdn.microsoft.com/en-us/library/zekwfyz4.aspx
Should I use the "__c" suffix when accessing custom objects?
No, you should not add the "__c" suffix to the name of custom objects and fields when accessing them via dotConnect for Salesforce. This suffix is used only in object representation via REST/SOAP API. The only exception is when you need to access a custom object created with the same name as the predefined Salesforce object (for example, "Account__c"). In such case you need to add the "__c" suffix.