You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/connect/ado-net/sql/handle-null-values.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,7 +101,7 @@ In addition, the following rules apply for an instance of `DataRow.["columnName"
101
101
102
102
- The <xref:System.Data.DataRow.IsNull%2A> method returns `true` for both `DbNull.Value` and `INullable.Null`.
103
103
104
-
## Assigning null values
104
+
## Assigning null values to SqlTypes
105
105
The default value for any <xref:System.Data.SqlTypes> instance is null.
106
106
107
107
Nulls in <xref:System.Data.SqlTypes> are type-specific and cannot be represented by a single value, such as `DbNull`. Use the `IsNull` property to check for nulls.
|[SqlConnection.ColumnEncryptionKeyCacheTtl Property](/dotnet/api/microsoft.data.sqlclient.sqlconnection.columnencryptionkeycachettl)|Gets and sets time-to-live for entries in the column encryption key cache.|
558
558
|[SqlConnection.ColumnEncryptionTrustedMasterKeyPaths Property](/dotnet/api/microsoft.data.sqlclient.sqlconnection.columnencryptiontrustedmasterkeypaths)|Allows you to set a list of trusted key paths for a database server. If while processing an application query the driver receives a key path that is not on the list, the query will fail. This property provides additional protection against security attacks that involve a compromised SQL Server providing fake key paths, which may lead to leaking key store credentials.|
559
559
|[SqlConnection.RegisterColumnEncryptionKeyStoreProviders Method](/dotnet/api/microsoft.data.sqlclient.sqlconnection.registercolumnencryptionkeystoreproviders)|Allows you to register custom key store providers. It is a dictionary that maps key store provider names to key store provider implementations.|
560
-
|[SqlCommand Constructor (String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)](/dotnet/api/microsoft.data.sqlclient.sqlcommand.-ctor?view=sqlclient-dotnet-core-1.0#Microsoft_Data_SqlClient_SqlCommand__ctor_System_String_Microsoft_Data_SqlClient_SqlConnection_Microsoft_Data_SqlClient_SqlTransaction_Microsoft_Data_SqlClient_SqlCommandColumnEncryptionSetting_)|Enables you to control the behavior of Always Encrypted for individual queries.|
560
+
|[SqlCommand Constructor (String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)](/dotnet/api/microsoft.data.sqlclient.sqlcommand.-ctor?view=sqlclient-dotnet-core-1.0&preserve-view=true#Microsoft_Data_SqlClient_SqlCommand__ctor_System_String_Microsoft_Data_SqlClient_SqlConnection_Microsoft_Data_SqlClient_SqlTransaction_Microsoft_Data_SqlClient_SqlCommandColumnEncryptionSetting_)|Enables you to control the behavior of Always Encrypted for individual queries.|
561
561
|[SqlParameter.ForceColumnEncryption Property](/dotnet/api/microsoft.data.sqlclient.sqlparameter.forcecolumnencryption)|Enforces encryption of a parameter. If SQL Server informs the driver that the parameter does not need to be encrypted, the query using the parameter will fail. This property provides additional protection against security attacks that involve a compromised SQL Server providing incorrect encryption metadata to the client, which may lead to data disclosure.|
562
562
|[connection string](/dotnet/api/microsoft.data.sqlclient.sqlconnection.connectionstring) keyword: `Column Encryption Setting=enabled`|Enables or disables Always Encrypted functionality for the connection.|
Copy file name to clipboardExpand all lines: docs/connect/driver-feature-matrix.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,8 +45,8 @@ We wish all drivers supported every feature and spend effort to ensure feature p
45
45
|[Multiple Active Result Sets (MARS)](../relational-databases/native-client/features/using-multiple-active-result-sets-mars.md)|[Yes](ado-net/sql/multiple-active-result-sets-mars.md)|[Yes](ado-net/sql/multiple-active-result-sets-mars.md)|[Yes](/dotnet/framework/data/adonet/sql/multiple-active-result-sets-mars)|[Yes](/dotnet/framework/data/adonet/sql/multiple-active-result-sets-mars)|
46
46
|[Spatial Data Types](../relational-databases/spatial/spatial-data-sql-server.md)|| Yes || Yes |
|[Transparent Network IP Resolution](odbc/using-transparent-network-ip-resolution.md)||[Yes](/dotnet/api/microsoft.data.sqlclient.sqlconnection.connectionstring?view=sqlclient-dotnet-1.1)||[Yes](/dotnet/api/system.data.sqlclient.sqlconnection.connectionstring?view=netframework-4.8)|
|[Transparent Network IP Resolution](odbc/using-transparent-network-ip-resolution.md)||[Yes](/dotnet/api/microsoft.data.sqlclient.sqlconnection.connectionstring?view=sqlclient-dotnet-1.1&preserve-view=true)||[Yes](/dotnet/api/system.data.sqlclient.sqlconnection.connectionstring?view=netframework-4.8&preserve-view=true)|
50
50
| | | | | |
51
51
52
52
| <aid="table2"></a>Feature |[ODBC Driver for SQL Server on Windows](odbc/microsoft-odbc-driver-for-sql-server.md)|[ODBC Driver for SQL Server on Linux and macOS](odbc/microsoft-odbc-driver-for-sql-server.md)|[JDBC Driver for SQL Server](jdbc/microsoft-jdbc-driver-for-sql-server.md)|[OLE DB Driver for SQL Server](oledb/oledb-driver-for-sql-server.md)|
Copy file name to clipboardExpand all lines: docs/connect/jdbc/connecting-using-azure-active-directory-authentication.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -282,7 +282,7 @@ The example below contains a simple Java application that connects to Azure SQL
282
282
11. Under section "Keys", create a key by filling in the name field, selecting the duration of the key, and saving the configuration (leave the value field empty). After saving, the value field should be filled automatically, copy the generated value. This is the client Secret.
283
283
12. Click Azure Active Directory on the left side panel. Under "App Registrations", find the "End points" tab. Copy the URL under "OATH 2.0 TOKEN ENDPOINT", this is your STS URL.
284
284
285
-

285
+

286
286
2. Sign in to your Azure SQL Server's user database as an Azure Active Directory admin and using a T-SQL command
287
287
provision a contained database user for your application principal. For more information, see the [Connecting to SQL Database or Azure Synapse Analytics By Using Azure Active Directory authentication](/azure/azure-sql/database/authentication-aad-overview)
288
288
for more details on how to create an Azure Active Directory admin and a contained database user.
Copy file name to clipboardExpand all lines: docs/connect/jdbc/setting-the-connection-properties.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,7 +52,7 @@ The following table lists all the currently available connection string properti
52
52
| cancelQueryTimeout<br/><br/>int<br/><br/>-1 | Beginning with Microsoft JDBC Driver 6.4 for SQL Server, this property can be used to cancel **queryTimeout** set on the connection. Query execution hangs and does not throw exception if TCP connection to SQL Server is silently dropped. This property is only applicable if 'queryTimeout' is also set on the connection. <br/><br/>The driver waits the total amount of **cancelQueryTimeout** + **queryTimeout** seconds, to drop the connection and close the channel. <br/><br/>The default value for this property is -1 and behavior is to wait indefinitely. |
53
53
| clientCertificate<br/><br/>String<br/><br/>null | Specifies the location of the certificate to be used for client certificate authentication. The JDBC driver will support PFX, PEM, DER, and CER file extensions. <br/><br/>For details, see [Client Certificate Authentication for Loopback Scenarios](../../connect/jdbc/client-certification-authentication-for-loopback-scenarios.md). |
54
54
| clientKey <br/><br/>String<br/><br/>null | Specifies the location of the private key for PEM, DER, and CER certificates specified by the clientCertificate attribute. <br/><br/>For details, see [Client Certificate Authentication for Loopback Scenarios](../../connect/jdbc/client-certification-authentication-for-loopback-scenarios.md). |
55
-
| clientKeyPassword <br/><br/>String<br/><br/>null | Specified the optional password string for accessing the clientKey file’s private key. <br/><br/>For details, see [Client Certificate Authentication for Loopback Scenarios](../../connect/jdbc/client-certification-authentication-for-loopback-scenarios.md). |
55
+
| clientKeyPassword <br/><br/>String<br/><br/>null | Specified the optional password string for accessing the clientKey file’s private key. <br/><br/>For details, see [Client Certificate Authentication for Loopback Scenarios](../../connect/jdbc/client-certification-authentication-for-loopback-scenarios.md). |
56
56
| columnEncryptionSetting<br/><br/>String<br/>["Enabled" | "Disabled"]<br/><br/>Disabled | Set to "Enabled" to use the Always Encrypted (AE) feature beginning with Microsoft JDBC Driver 6.0 for SQL Server. When AE is enabled, the JDBC driver transparently encrypts and decrypts sensitive data stored in encrypted database columns in the SQL Server.<br/><br/> For more information about **columnEncryptionSetting**, see [Using Always Encrypted with the JDBC driver](../../connect/jdbc/using-always-encrypted-with-the-jdbc-driver.md) for more details.<br/><br/> **Note:** Always Encrypted is available with SQL Server 2016 or later versions. |
57
57
| databaseName,<br/>database<br/><br/>String<br/>[<=128 char]<br/><br/>null | The name of the database to connect to. <br/><br/>If not stated, a connection is made to the default database. |
58
58
| delayLoadingLobs<br/><br/>boolean<br/>["true" | "false"]<br/><br/>true | Flag to indicate whether to stream or not stream all the LOB objects being retrieved from the ResultSet. Setting this property to "false" will load the entire LOB object into memory without streaming. |
@@ -104,7 +104,7 @@ The following table lists all the currently available connection string properti
104
104
| trustStorePassword<br/><br/>String<br/><br/>null | The password used to check the integrity of the trustStore data.<br/><br/> If the trustStore property is set but the trustStorePassword property is not set, the integrity of the trustStore is not checked.<br/><br/> When both trustStore and trustStorePassword properties are unspecified, the driver uses the JVM system properties, "javax.net.ssl.trustStore" and "javax.net.ssl.trustStorePassword". If the "javax.net.ssl.trustStorePassword" system property is not specified, the integrity of the trustStore is not checked.<br/><br/> If the trustStore property is not set but the trustStorePassword property is set, the JDBC driver uses the file specified by the "javax.net.ssl.trustStore" as a trust store and the integrity of the trust store is checked by using the specified trustStorePassword. This might be needed when the client application does not want to store the password in the JVM system property.<br/><br/> **Note:** The trustStorePassword property only affects the certificate trustStore lookup, if and only if the connection uses TLS connection and the **trustServerCertificate** property is set to "false". |
105
105
| trustStoreType<br/><br/>String<br/><br/>JKS | Set this property to specify trust store type to be used for FIPS mode. <br/><br/>Possible values are either **PKCS12** or type defined by FIPS provider. |
106
106
| useBulkCopyFor...<br/>BatchInsert<br/><br/>boolean<br/>["true" | "false"]<br/><br/>false | _useBulkCopyForBatchInsert_<br/><br/> Beginning with Microsoft JDBC Driver 7.0 for SQL Server, this connection property can be enabled to make use of Bulk Copy API when performing batch insert operations using `java.sql.PreparedStatement` for performance improvement. <br/><br/>This feature is functional only when target server is of type **Azure Data Warehouse**. It is disabled by default, set this property to "true" to enable this feature. <br/></br> **Important Note:** This feature only supports fully parameterized INSERT queries. If the INSERT Queries are combined by other SQL queries, or contain data in values, execution will fall back to the basic Batch Insert operation. <br/><br/> For more information on how to use this property, see [Using bulk copy API for batch insert operation](use-bulk-copy-api-batch-insert-operation.md)|
107
-
| useFmtOnly<br /><br />boolean<br />["true" | "false"]<br /><br />false | Microsoft JDBC Driver for SQL Server starting v7.4 provides an alternative way to query Parameter Metadata from the server by specifying the **useFmtOnly** connection property. Set this property to "true" to specify that the driver should use `SET FMTONLY` logic when querying Parameter Metadata. This feature is off by default, and it is not recommended to use this property as `SET FMTONLY` is marked for deprecation. **useFmtOnly** is made available to use only as a workaround for known issues and limitations in [`sp_describe_undeclared_parameters`](../../relational-databases/system-stored-procedures/sp-describe-undeclared-parameters-transact-sql.md?view=sql-server-2017).<br/><br/> This feature currently only supports single `SELECT/INSERT/UPDATE/DELETE` queries. Attempting to use this feature with unsupported/multiple queries will cause the driver to make an attempt to parse the query(s), but will most likely result in an exception.<br/><br/> For more information, see [Retrieving ParameterMetaData via useFmtOnly](../../connect/jdbc/using-usefmtonly.md). |
107
+
| useFmtOnly<br /><br />boolean<br />["true" | "false"]<br /><br />false | Microsoft JDBC Driver for SQL Server starting v7.4 provides an alternative way to query Parameter Metadata from the server by specifying the **useFmtOnly** connection property. Set this property to "true" to specify that the driver should use `SET FMTONLY` logic when querying Parameter Metadata. This feature is off by default, and it is not recommended to use this property as `SET FMTONLY` is marked for deprecation. **useFmtOnly** is made available to use only as a workaround for known issues and limitations in [`sp_describe_undeclared_parameters`](../../relational-databases/system-stored-procedures/sp-describe-undeclared-parameters-transact-sql.md).<br/><br/> This feature currently only supports single `SELECT/INSERT/UPDATE/DELETE` queries. Attempting to use this feature with unsupported/multiple queries will cause the driver to make an attempt to parse the query(s), but will most likely result in an exception.<br/><br/> For more information, see [Retrieving ParameterMetaData via useFmtOnly](../../connect/jdbc/using-usefmtonly.md). |
108
108
| userName,<br/>user<br/><br/>String<br/>[<=128 char]<br/><br/>null | The database user, in case of connection with SQL user and password.<br/><br/>For Kerberos connection with principal name and password, this property is set to Kerberos Principal name. |
109
109
| workstationID<br/><br/>String<br/>[<=128 char]<br/><br/><empty string> | The workstation ID. Used to identify the specific workstation in various [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] profiling and logging tools. <br/><br/>If none is specified, the <empty string> is used. |
110
110
| xopenStates<br/><br/>boolean<br/>["true" | "false"]<br/><br/>false | Set to "true" to specify that the driver returns XOPEN-compliant state codes in exceptions. <br/><br/>The default is to return SQL 99 state codes. |
Copy file name to clipboardExpand all lines: docs/connect/jdbc/understanding-data-type-conversions.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ To facilitate the conversion of Java programming language data types to [!INCLUD
23
23
24
24
Based on the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] data types, the following chart contains the JDBC driver's conversion map for the get\<Type>() methods of the [SQLServerResultSet](../../connect/jdbc/reference/sqlserverresultset-class.md) class, and the supported conversions for the get\<Type> methods of the [SQLServerCallableStatement](../../connect/jdbc/reference/sqlservercallablestatement-class.md) class.
Copy file name to clipboardExpand all lines: docs/connect/jdbc/using-ntlm-authentication-to-connect-to-sql-server.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,7 +74,7 @@ For example, your SPN might look like: "MSSQLSvc/some-server.zzz.corp.contoso.co
74
74
75
75
For more information about service principal names (SPNs), see:
76
76
77
-
-[Service Principal Name (SPN) Support in Client Connections](../../relational-databases/native-client/features/service-principal-name-spn-support-in-client-connections.md?view=sql-server-2017)
77
+
-[Service Principal Name (SPN) Support in Client Connections](../../relational-databases/native-client/features/service-principal-name-spn-support-in-client-connections.md)
78
78
79
79
> [!NOTE]
80
80
> The serverSpn connection attribute is only supported by Microsoft JDBC Drivers 4.2 and higher.
> The feature only supports `SELECT/INSERT/UPDATE/DELETE` queries. Queries should start with one of the 4 supported key words or a [Common Table Expression](../../t-sql/queries/with-common-table-expression-transact-sql.md?view=sql-server-2017) followed by one of the supported queries. Parameters within Common Table Expressions are not supported.
88
+
> The feature only supports `SELECT/INSERT/UPDATE/DELETE` queries. Queries should start with one of the 4 supported key words or a [Common Table Expression](../../t-sql/queries/with-common-table-expression-transact-sql.md) followed by one of the supported queries. Parameters within Common Table Expressions are not supported.
89
89
90
90
## Known issues
91
91
There are currently some issues with the feature, which are caused by deficiencies in SQL parsing logic. These issues may be addressed in a future update to the feature, and are documented below along with workaround suggestions.
0 commit comments