Creating DbConnections
You can use DbProviderFactory and DbConnection objects to connect to Blackbaud Financial Edge NXT with generic code. This section describes how to connect from your project.
Adding Provider Information to the Configuration Context
To create a strongly typed DbProviderFactory, you must first register the CData ADO.NET Provider for Blackbaud Financial Edge NXT in the configuration context (machine.config, app.config, or web.config). Note that the provider installer registers the provider in machine.config.
If you are not using the installer -- for example, if you are using the NuGet package instead -- you need to manually register the provider. You can do so by adding an entry to the System.Data section of the configuration context. You can modify the System.Data section in your machine.config or app.config (the System.Data in the app config is merged with machine.config at run time). Below is the syntax and format of the configuration entry:
<system.data>
<DbProviderFactories>
<add name="CData ADO.NET Provider for Blackbaud Financial Edge NXT" invariant="System.Data.CData.FinancialEdgeNXT" description="CData ADO.NET Provider for Blackbaud Financial Edge NXT" type="System.Data.CData.FinancialEdgeNXT.FinancialEdgeNXTProviderFactory, System.Data.CData.FinancialEdgeNXT, Version=24.0.0.40, Culture=neutral, PublicKeyToken=f57f3fbecba6b076" />
</DbProviderFactories>
</system.data>
The following configuration file fragment defines a typical Blackbaud Financial Edge NXT connection string in the context:
<configuration>
<connectionStrings>
<add name="Blackbaud Financial Edge NXT"
providerName="System.Data.CData.FinancialEdgeNXT"
connectionString="InitiateOAuth=GETANDREFRESH;SubscriptionKey=MySubscriptionKey;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;"
/>
</connectionStrings>
</configuration>
Creating the DbProviderFactory
Call DbProviderFactories.GetFactory to create the DbProviderFactory:
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.CData.FinancialEdgeNXT");
DbProviderFactories looks up the invariant name in the configuration context to find the assembly and the FinancialEdgeNXTProviderFactory class.
Creating the DbProviderFactory and DbConnection
The following code shows how to create a strongly typed DbProviderFactory object and use it to instantiate a DbConnection object and connect to Blackbaud Financial Edge NXT.
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.CData.FinancialEdgeNXT");
using(DbConnection connection = factory.CreateConnection()) {
connection.ConnectionString = "InitiateOAuth=GETANDREFRESH;SubscriptionKey=MySubscriptionKey;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;";
connection.Open();
}
You can also read the connection string from the application configuration file. Note that the ConnectionStringSettingsCollection class requires a reference to System.Configuration.dll.
The following code retrieves the first Blackbaud Financial Edge NXT connection string defined in the application configuration file.
ConnectionStringSettingsCollection settings = ConfigurationManager.ConnectionStrings;
if (settings != null) {
foreach (ConnectionStringSettings cs in settings) {
if (cs.ProviderName == "System.Data.CData.FinancialEdgeNXT")
connection = cs.ConnectionString;
break;
}
}