dotnet / dotnet/SqlClient

Always Encrypted support needed for API cursor positional update

Open
#3,580 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
989
Forks
340
Avg merge
4d 19h
Merged PRs (30d)
72

Description

### Is your feature request related to a problem? Please describe.
The only known method of performing positional updates with server cursors (so called "API cursors") is incompatible with the column-level encryption scheme implemented by Always Encrypted, as exhibited in a simple console program [GitHub repo](https://github.com/asnarnd/ApiCursorDemo). We have working solutions for all other CRUD-level methods using this combination of features, but without positional updates our solutions cannot include support for Always Encrypted.

### Describe the solution you'd like
Ideally, a fix for the current "transparent" scheme that supports the encryption of input parameters passed to `sp_cursor`. Otherwise, an alternative access mechanism for positional updates via API cursors should be provided.

### Describe alternatives you've considered
No other TDS driver provides *comprehensive support* for SQL Server and API cursor access, much less Always Encrypted support. Our solutions require managed code and a reliable path towards new and upcoming SQL Server features, so the current ODBC, etc., drivers are not acceptable.

### Additional context
This post is submitted in tandem with a SQL Server "idea" [posted a few days ago](https://feedback.azure.com/d365community/idea/a9fa970e-3879-f011-95f3-7c1e52f4772e).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.