PSQL v13 R2 ADO.NET Data Provider 4.3 for .NET Standard 2.0 Release Notes
General Release – January 2019
Contents
This file contains the following topics:

• | About PSQL ADO.NET Data Provider for .NET Standard 2.0

• | Requirements

• | Getting Started

• | Known Issues and Usage Notes

• | Technical Support

About PSQL ADO.NET Data Provider for .NET Standard 2.0
Beginning with PSQL v13 R2, the PSQL ADO.NET Data Provider for .NET Standard 2.0 is available for use by applications running on systems that have a .NET implementation compatible with version 2.0 of the .NET Standard specification of .NET APIs. For more information about compatibility, see Requirements.
Note that this new provider and the PSQL ADO.NET Data Provider for .NET Framework target different systems:

• | Version 2.0 of the .NET Standard specification is implemented only by versions of .NET Framework beginning with .Net Framework 4.6.1.

• | PSQL ADO.NET Data Provider for .NET Framework supports versions of .NET Framework beginning with .NET Framework 3.5 SP1.

If you are creating an application that needs to run on target systems with .NET Framework 4.6.0 or earlier, use the PSQL ADO.NET Data Provider for .NET Framework installed with the PSQL database engine. For more information regarding the PSQL ADO.NET Data Provider for .NET Framework, see the SDK for that provider.
For information regarding limitations of the new data provider, see Known Issues and Usage Notes.
Requirements
To develop applications using the PSQL ADO.NET Data Provider for .NET Standard 2.0, the following requirements must be met:

• | The target system for your application must be running a .NET implementation that is compliant with version 2.0 of the .NET Standard specification of .NET APIs, including:

• | .NET applications that target .NET Core 2.0 or later

• | Universal Windows Platform 10.0.16299 or later

• | .NET Framework 4.6.1 or later

For a full list of platform versions supporting version 2.0 of the .NET Standard specification, see the .NET Implementation Support list provided by Microsoft.

• | The version of Visual Studio installed on the development system must be 2017 or later.

• | To create applications that target .NET Core 2.0, the development system must have the following installed:

• | Visual Studio 2017 version 15.3.0 or later with the .NET Core cross-platform development workload also installed.

• | .NET Core SDK version 2.0 or later.

• | To create applications that target .NET Core 2.1, the development system must have the following installed:

• | Visual Studio 2017 version 15.7.0 or later with the .NET Core cross-platform development workload also installed.

• | .NET Core SDK version 2.1 or later. Note that to publish a .NET Core application that targets Windows on ARM, you must also have installed the latest available version of the .NET Core SDK.

• | To create UWP applications, in the application settings you must select a minimum target version of Windows 10 Fall Creators Update (10.0; Build 16299) or later. This setting is available only for UWP projects in Visual Studio if version 10.0.16299 or later of the Windows Software Development Kit is installed on your development system. If your UWP application will target a minimum version of Windows 10 later than 10.0.16299, then the NuGet package for Microsoft.NETCore.UniversalWindowsPlatform that is automatically added to the project by Visual Studio must be version 6.1.9 or later.

Getting Started
The assembly file name for the PSQL ADO.NET Data Provider for .NET Standard 2.0 is PSQL.Data.SqlClientStd.dll. Unlike the PSQL ADO.NET Data Provider for .NET Framework, this newer assembly is not installed to the .NET Framework Global Assembly Cache (GAC), nor is it installed with the PSQL database engine. The new assembly is available only through the NuGet package bundled with this SDK package and must be added to your Visual Studio project.
The NuGet package containing the new provider is supported only by versions of Visual Studio starting with Visual Studio 2017. To add the NuGet package to your Visual Studio project, you must configure the NuGet Package Manager to reference local NuGet packages. This can be done by adding the path to the directory containing local NuGet packages to the Package Sources setting under Tools > Options > NuGet Package Manager.
The steps documented are based on Visual Studio Enterprise 2017. The steps you follow may differ if you are using another version or edition of Visual Studio.
Referencing the Provider
A reference to the PSQL ADO.NET Data Provider for .NET Standard 2.0 is added to your Visual Studio project automatically when the NuGet package is added to the project.

► | To create a sample application

This example creates an application that references the provider.

1 | In Visual Studio, create a new project by selecting a project template that can build output compatible with version 2.0 of the .NET Standard specification, such as an application, class library, or runtime component:

• | Console App (.NET Core)

• | Class Library (.NET Standard)

• | Any Universal Windows project template

These steps use the Console App (.NET Core) project template except where noted.
Note Selecting a Universal Windows project template prompts you to choose the target and minimum platform versions that your UWP application will support. You must select minimum version Windows 10 Fall Creators Update (10.0; Build 16299) or later. If this version is not listed, check whether the appropriate version of the Windows Software Development Kit is installed in your development environment.

2 | Under General settings in the Build pane, for the conditional compilation symbols enter NETCOREAPP2.0.

Note If you are using a Universal Windows Blank App project type and your application will need to connect to a PSQL database on a remote system, open the package.appxmanifest file and in the Capabilities tab, select Private Networks (Client & Server).

3 | The PSQL ADO.NET Data Provider for .NET Standard 2.0 SDK includes a NuGet package named Pervasive.Data.SqlClientStd.4.3.0.nupkg. In Visual Studio, select Tools > Options > NuGet Package Manager to add this package to the project.

4 | Code your application.

The new provider shares the same namespace, Pervasive.Data.SqlClient, as the PSQL ADO.NET Data Provider for .NET Framework but supports only .NET APIs that are part of the .NET Standard 2.0 specification. For instructions on using the provider namespace in your code, see PSQL Data Provider for .NET Guide. For more information regarding the .NET APIs supported by the provider for .NET Framework that are not supported for .NET Standard 2.0, see Known Issues and Usage Notes.

5 | You can now build the application.

Documentation
For more information about developing .NET applications, see PSQL Data Provider for .NET Guide and PSQL Programmer’s Guide in the PSQL developer documentation.
Samples
The following table summarizes the samples provided with PSQL ADO.NET Data Provider for .NET Standard 2.0 in a directory named Samples.

Directory | Sample | Purpose of Sample
Provider\netstandard2.0 | AdoNetCore2_0ProviderTest | Creates a .NET Core command line application that takes two parameters:
• | -connection <"connection string">: PSQL database connection string
• | -sql <"SQL cmd to run">: SQL statement to be executed after connecting
Provider\netstandard2.0 | BasicCRUD | Creates a .NET Core command line application that performs basic Create, Read, Update, and Delete tasks on a PSQL database.
Provider\netstandard2.0\UWP | UWP_Sample | Creates UWP application with a button for testing PSQL connections.

The following example illustrates the first sample in the list above:
dotnet .\AdoNetCore2_0ProviderTest.dll -connection "Host=localhost;Port=1583;Database=demodata;" -sql "SELECT * FROM Billing;"
Known Issues and Usage Notes
The Actian community forums and knowledge base both enable you to search for a history log that lists issues fixed and enhancements added since the previous release. You can also find a list of general known issues in addition to those specifically listed here.
PSQL ADO.NET Data Provider for .NET Standard 2.0 does not support the following features of the PSQL ADO.NET Data Provider for .NET Framework:

• | Visual Studio Integration of PSQL Data Tools

Since the .NET Standard 2.0 provider does not yet support the data tools in the PSQL ADO.NET Data Provider for .NET Framework SDK, the PSQL ADO.NET Data Provider for .NET Standard 2.0 SDK does not integrate the tools into Visual Studio. If the Framework SDK tools were previously integrated, they will work only with the .NET Framework provider assembly installed in the GAC.

• | Entity Framework

The data provider for .NET Standard 2.0 does not support Entity Framework development.

• | Performance Counters

Performance Counters are not supported in .NET Standard 2.0.

• | Encoding

Since the provider is intended for cross-platform development, it always chooses the default encoding of the operating system.

• | CreatePermission(PermissionState) Method

The CreatePermission(PermissionState) method is not supported in .NET Standard 2.0.

• | File Schema

PSQL ADO.NET Data Provider for .NET Framework writes Encoding.BodyName for Char, VarChar, and LongVarChar columns when pushing data to the user. Since Encoding.BodyName is not supported in .NET Standard 2.0, the PSQL ADO.NET Data Provider for .NET Standard 2.0 uses Encoding.WebName instead.
UWP Applications
When you are prompted to select a minimum version for a UWP application project, if both of the following things are true:

• | You select a minimum version later than Windows 10 Fall Creators Update (10.0; Build 16299).

• | The version of the NuGet package Microsoft.NETCore.UniversalWindowsPlatform added automatically to the project by Visual Studio is earlier than 6.1.9.

Then any application built using the PSQL ADO.NET Data Provider for .NET Standard 2.0 will report the following runtime error:
Exception: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
To correct this issue, open the NuGet Package Manager and update the Microsoft.NETCore.UniversalWindowsPlatform package to version 6.1.9 or later.
Technical Support
You can find information and obtain help from several online options at the Actian website:

• | Community Forums. Join the technical discussion under Actian Zen (PSQL).

• | Knowledge Base. Search articles for answers and solutions others have found useful.

• | Technical Support. Open a help ticket, submit a defect, or purchase services.

Disclaimer
ACTIAN CORPORATION LICENSES THE SOFTWARE AND DOCUMENTATION PRODUCT TO YOU OR YOUR COMPANY SOLELY ON AN "AS IS" BASIS AND SOLELY IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF THE ACCOMPANYING LICENSE AGREEMENT.
Copyright © 2018 Actian Corporation. All Rights Reserved.