All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.sqlserver.jdbc.SQLServerResource Maven / Gradle / Ivy

There is a newer version: 12.8.1.jre11
Show newest version
/*
 * Microsoft JDBC Driver for SQL Server Copyright(c) Microsoft Corporation All rights reserved. This program is made
 * available under the terms of the MIT License. See the LICENSE file in the project root for more information.
 */

package com.microsoft.sqlserver.jdbc;

import java.util.ListResourceBundle;


/**
 * Represents a simple resource bundle containing the strings for localizing.
 *
 */
public final class SQLServerResource extends ListResourceBundle {
    static String getResource(String key) {
        return SQLServerResource.getBundle("com.microsoft.sqlserver.jdbc.SQLServerResource").getString(key);
    }

    protected Object[][] getContents() {
        return CONTENTS;
    }

    // The keys must be prefixed with R_ to denote they are resource strings and their names should follow the
    // camelCasing convention and be descriptive
    static final Object[][] CONTENTS = {
            // LOCALIZE THIS
            {"R_timedOutBeforeRouting", "The timeout expired before connecting to the routing destination."},
            {"R_invalidRoutingInfo",
                    "Unexpected routing information received. Please check your connection properties and SQL Server configuration."},
            {"R_multipleRedirections",
                    "Two or more redirections have occurred. Only one redirection per login attempt is allowed."},
            {"R_dbMirroringWithMultiSubnetFailover",
                    "Connecting to a mirrored SQL Server instance using the multiSubnetFailover connection property is not supported."},
            {"R_dbMirroringWithReadOnlyIntent",
                    "Connecting to a mirrored SQL Server instance using the ApplicationIntent ReadOnly connection property is not supported."},
            {"R_ipAddressLimitWithMultiSubnetFailover",
                    "Connecting with the multiSubnetFailover connection property to a SQL Server instance configured with more than {0} IP addresses is not supported."},
            {"R_connectionTimedOut", "Connection timed out: no further information."},
            {"R_invalidPositionIndex", "The position index {0} is not valid."},
            {"R_invalidLength", "The length {0} is not valid."},
            {"R_unknownSSType", "Invalid SQL Server data type {0}."},
            {"R_unknownJDBCType", "Invalid JDBC data type {0}."},
            {"R_notSQLServer",
                    "The driver received an unexpected pre-login response. Verify the connection properties and check that an instance of SQL Server is running on the host and accepting "
                            + "TCP/IP connections at the port. This driver can be used only with SQL Server 2005 or later."},
            {"R_tcpOpenFailed",
                    "{0}. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP "
                            + "connections to the port are not blocked by a firewall."},
            {"R_unsupportedServerVersion", "SQL Server version {0} is not supported by this driver."},
            {"R_noServerResponse", "SQL Server did not return a response. The connection has been closed."},
            {"R_truncatedServerResponse",
                    "SQL Server returned an incomplete response. The connection has been closed."},
            {"R_queryTimedOut", "The query has timed out."}, {"R_queryCancelled", "The query was canceled."},
            {"R_errorReadingStream",
                    "An error occurred while reading the value from the stream object. Error: \"{0}\""},
            {"R_streamReadReturnedInvalidValue",
                    "The stream read operation returned an invalid value for the amount of data read."},
            {"R_mismatchedStreamLength",
                    "The stream value is not the specified length. The specified length was {0}, the actual length is {1}."},
            {"R_notSupported", "This operation is not supported."},
            {"R_invalidOutputParameter", "The index {0} of the output parameter is not valid."},
            {"R_outputParameterNotRegisteredForOutput", "The output parameter {0} was not registered for output."},
            {"R_parameterNotDefinedForProcedure", "Parameter {0} was not defined for stored procedure {1}."},
            {"R_connectionIsClosed", "The connection is closed."},
            {"R_invalidBooleanValue",
                    "The property {0} does not contain a valid boolean value. Only true or false can be used."},
            {"R_propertyMaximumExceedsChars", "The {0} property exceeds the maximum number of {1} characters."},
            {"R_invalidPortNumber", "The port number {0} is not valid."},
            {"R_invalidTimeOut", "The timeout {0} is not valid."},
            {"R_invalidLockTimeOut", "The lockTimeOut {0} is not valid."},
            {"R_invalidAuthenticationScheme", "The authenticationScheme {0} is not valid."},
            {"R_invalidPacketSize", "The packetSize {0} is not valid."},
            {"R_packetSizeTooBigForSSL",
                    "SSL encryption cannot be used with a network packet size larger than {0} bytes.  Please check your connection properties and SQL Server configuration."},
            {"R_tcpipConnectionFailed", "The TCP/IP connection to the host {0}, port {1} has failed. Error: \"{2}\"."}, // {PlaceHolder="TCP/IP"}
            {"R_invalidTransactionLevel", "The transaction level {0} is not valid."},
            {"R_cantInvokeRollback", "Cannot invoke a rollback operation when the AutoCommit mode is set to \"true\"."},
            {"R_cantSetSavepoint", "Cannot set a savepoint when the AutoCommit mode is set to \"true\"."},
            {"R_sqlServerHoldability",
                    "SQL Server supports holdability at the connection level only. Use the connection.setHoldability() method."}, // {PlaceHolder="connection.setHoldability()"}
            {"R_invalidHoldability", "The holdability value {0} is not valid."},
            {"R_invalidColumnArrayLength", "The column array is not valid. Its length must be 1."},
            {"R_valueNotSetForParameter", "The value is not set for the parameter number {0}."},
            {"R_sqlBrowserFailed",
                    "The connection to the host {0}, named instance {1} failed. Error: \"{2}\". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434. "
                            + " For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host."},
            {"R_notConfiguredToListentcpip", "The server {0} is not configured to listen with TCP/IP."},
            {"R_cantIdentifyTableMetadata", "Unable to identify the table {0} for the metadata."},
            {"R_metaDataErrorForParameter", "A metadata error for the parameter {0} occurred."},
            {"R_invalidParameterNumber", "The parameter number {0} is not valid."},
            {"R_noMetadata", "There is no metadata."}, {"R_resultsetClosed", "The result set is closed."},
            {"R_invalidColumnName", "The column name {0} is not valid."},
            {"R_resultsetNotUpdatable", "The result set is not updatable."},
            {"R_indexOutOfRange", "The index {0} is out of range."},
            {"R_savepointNotNamed", "The savepoint is not named."}, {"R_savepointNamed", "The savepoint {0} is named."},
            {"R_resultsetNoCurrentRow", "The result set has no current row."},
            {"R_mustBeOnInsertRow", "The cursor is not on the insert row."},
            {"R_mustNotBeOnInsertRow", "The requested operation is not valid on the insert row."},
            {"R_cantUpdateDeletedRow", "A deleted row cannot be updated."},
            {"R_noResultset", "The statement did not return a result set."},
            {"R_resultsetGeneratedForUpdate", "A result set was generated for update."},
            {"R_statementIsClosed", "The statement is closed."},
            {"R_invalidRowcount", "The maximum row count {0} for a result set must be non-negative."},
            {"R_invalidQueryTimeOutValue", "The query timeout value {0} is not valid."},
            {"R_invalidFetchDirection", "The fetch direction {0} is not valid."},
            {"R_invalidFetchSize", "The fetch size cannot be negative."},
            {"R_noColumnParameterValue", "No column parameter values were specified to update the row."},
            {"R_statementMustBeExecuted", "The statement must be executed before any results can be obtained."},
            {"R_modeSuppliedNotValid", "The supplied mode is not valid."},
            {"R_errorConnectionString", "The connection string contains a badly formed name or value."},
            {"R_errorProcessingComplexQuery", "An error occurred while processing the complex query."},
            {"R_invalidOffset", "The offset {0} is not valid."}, {"R_nullConnection", "The connection URL is null."},
            {"R_invalidConnection", "The connection URL is invalid."},
            {"R_cannotTakeArgumentsPreparedOrCallable",
                    "The method {0} cannot take arguments on a PreparedStatement or CallableStatement."},
            // Invalid conversion (e.g. MONEY to Timestamp)
            {"R_unsupportedConversionFromTo", "The conversion from {0} to {1} is unsupported."},
            // Invalid conversion to an unknown type
            {"R_unsupportedConversionTo", "The conversion to {0} is unsupported."},
            // Data-dependent conversion failure (e.g. "foo" vs. "123", to Integer)
            {"R_errorConvertingValue", "An error occurred while converting the {0} value to JDBC data type {1}."},
            {"R_streamIsClosed", "The stream is closed."}, {"R_invalidTDS", "The TDS protocol stream is not valid."},
            {"R_unexpectedToken", " Unexpected token {0}."},
            {"R_selectNotPermittedinBatch", "The SELECT statement is not permitted in a batch."},
            {"R_failedToCreateXAConnection", "Failed to create the XA control connection. Error: \"{0}\""},
            {"R_codePageNotSupported", "Codepage {0} is not supported by the Java environment."},
            {"R_unknownSortId", "SQL Server collation {0} is not supported by this driver."},
            {"R_unknownLCID", "Windows collation {0} is not supported by this driver."},
            {"R_encodingErrorWritingTDS",
                    "An encoding error occurred while writing a string to the TDS buffer. Error: \"{0}\""},
            {"R_processingError", "A processing error \"{0}\" occurred."},
            {"R_requestedOpNotSupportedOnForward",
                    "The requested operation is not supported on forward only result sets."},
            {"R_unsupportedCursor", "The cursor type is not supported."},
            {"R_unsupportedCursorOperation", "The requested operation is not supported with this cursor type."},
            {"R_unsupportedConcurrency", "The concurrency is not supported."},
            {"R_unsupportedCursorAndConcurrency", "The cursor type/concurrency combination is not supported."},
            {"R_stringReadError", "A string read error occurred at offset:{0}."},
            {"R_stringWriteError", "A string write error occurred at offset:{0}."},
            {"R_stringNotInHex", "The string is not in a valid hex format."},
            {"R_unknownType", "The Java type {0} is not a supported type."},
            {"R_physicalConnectionIsClosed", "The physical connection is closed for this pooled connection."},
            {"R_invalidDataSourceReference", "Invalid DataSource reference."},
            {"R_cantGetColumnValueFromDeletedRow", "Cannot get a value from a deleted row."},
            {"R_cantGetUpdatedColumnValue",
                    "Updated columns cannot be accessed until updateRow() or cancelRowUpdates() has been called."},
            {"R_cantUpdateColumn", "The column value cannot be updated."},
            {"R_positionedUpdatesNotSupported", "Positioned updates and deletes are not supported."},
            {"R_invalidAutoGeneratedKeys",
                    "The autoGeneratedKeys parameter value {0} is not valid. Only the values Statement.RETURN_GENERATED_KEYS and Statement.NO_GENERATED_KEYS can be used."},
            {"R_notConfiguredForIntegrated", "This driver is not configured for integrated authentication."},
            {"R_failoverPartnerWithoutDB",
                    "databaseName is required when using the failoverPartner connection property."},
            {"R_invalidPartnerConfiguration",
                    "The database {0} on server {1} is not configured for database mirroring."},
            {"R_invaliddisableStatementPooling", "The disableStatementPooling value {0} is not valid."},
            {"R_invalidselectMethod", "The selectMethod {0} is not valid."},
            {"R_invalidpropertyValue",
                    "The data type of connection property {0} is not valid. All the properties for this connection must be of String type."},
            {"R_invalidArgument", "The argument {0} is not valid."},
            {"R_streamWasNotMarkedBefore", "The stream has not been marked."},
            {"R_invalidresponseBuffering", "The responseBuffering connection property {0} is not valid."},
            {"R_invalidapplicationIntent", "The applicationIntent connection property {0} is not valid."},
            {"R_dataAlreadyAccessed", "The data has been accessed and is not available for this column or parameter."},
            {"R_outParamsNotPermittedinBatch", "The OUT and INOUT parameters are not permitted in a batch."},
            {"R_sslRequiredNoServerSupport",
                    "The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. "
                            + "The application requested encryption but the server is not configured to support SSL."},
            {"R_sslRequiredByServer",
                    "SQL Server login requires an encrypted connection that uses Secure Sockets Layer (SSL)."},
            {"R_sslFailed",
                    "The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: \"{0}\"."},
            {"R_certNameFailed",
                    "Failed to validate the server name in a certificate during Secure Sockets Layer (SSL) initialization."},
            {"R_failedToInitializeXA",
                    "Failed to initialize the stored procedure xp_sqljdbc_xa_init. The status is: {0}. Error: \"{1}\""},
            {"R_failedFunctionXA", "The function {0} failed. The status is: {1}. Error: \"{2}\""},
            {"R_noTransactionCookie", "The function {0} failed. No transaction cookie was returned."},
            {"R_failedToEnlist", "Failed to enlist. Error: \"{0}\""},
            {"R_failedToUnEnlist", "Failed to unenlist. Error: \"{0}\""},
            {"R_failedToReadRecoveryXIDs", "Failed to read recovery XA branch transaction IDs (XIDs). Error: \"{0}\""},
            {"R_userPropertyDescription", "The database user."},
            {"R_passwordPropertyDescription", "The database password."},
            {"R_databaseNamePropertyDescription", "The name of the database to connect to."},
            {"R_domainPropertyDescription", "The Windows domain to authenticate in using NTLM."},
            {"R_serverNamePropertyDescription", "The computer running SQL Server."},
            {"R_portNumberPropertyDescription", "The TCP port where an instance of SQL Server is listening."},
            {"R_serverSpnPropertyDescription", "SQL Server SPN."},
            {"R_columnEncryptionSettingPropertyDescription", "The column encryption setting."},
            {"R_enclaveAttestationUrlPropertyDescription", "The enclave attestation URL."},
            {"R_enclaveAttestationProtocolPropertyDescription", "The enclave attestation protocol."},
            {"R_serverNameAsACEPropertyDescription",
                    "Translates the serverName from Unicode to ASCII Compatible Encoding (ACE), as defined by the ToASCII operation of RFC 3490."},
            {"R_sendStringParametersAsUnicodePropertyDescription",
                    "Determines if the string parameters are sent to the server as Unicode or the database's character set."},
            {"R_multiSubnetFailoverPropertyDescription",
                    "Indicates that the application is connecting to the Availability Group Listener of an Availability Group or Failover Cluster Instance."},
            {"R_applicationNamePropertyDescription",
                    "The application name for SQL Server profiling and logging tools."},
            {"R_lastUpdateCountPropertyDescription",
                    "Ensures that only the last update count is returned from an SQL statement passed to the server."},
            {"R_disableStatementPoolingPropertyDescription", "Disables the statement pooling feature."},
            {"R_integratedSecurityPropertyDescription",
                    "Indicates whether Windows authentication will be used to connect to SQL Server."},
            {"R_authenticationSchemePropertyDescription",
                    "The authentication scheme to be used for integrated authentication."},
            {"R_lockTimeoutPropertyDescription",
                    "The number of milliseconds to wait before the database reports a lock time-out."},
            {"R_loginTimeoutPropertyDescription",
                    "The number of seconds the driver should wait before timing out a failed connection."},
            {"R_instanceNamePropertyDescription", "The name of the SQL Server instance to connect to."},
            {"R_xopenStatesPropertyDescription",
                    "Determines if the driver returns XOPEN-compliant SQL state codes in exceptions."},
            {"R_selectMethodPropertyDescription",
                    "Enables the application to use server cursors to process forward only, read only result sets."},
            {"R_responseBufferingPropertyDescription",
                    "Controls the adaptive buffering behavior to allow the application to process large result sets without requiring server cursors."},
            {"R_applicationIntentPropertyDescription",
                    "Declares the application workload type when connecting to a server. Possible values are ReadOnly and ReadWrite."},
            {"R_workstationIDPropertyDescription", "The host name of the workstation."},
            {"R_failoverPartnerPropertyDescription",
                    "The name of the failover server used in a database mirroring configuration."},
            {"R_packetSizePropertyDescription", "The network packet size used to communicate with SQL Server."},
            {"R_encryptPropertyDescription",
                    "Determines if Secure Sockets Layer (SSL) encryption should be used between the client and the server."},
            {"R_trustServerCertificatePropertyDescription",
                    "Determines if the driver should validate the SQL Server Secure Sockets Layer (SSL) certificate."},
            {"R_trustStoreTypePropertyDescription", "KeyStore type."},
            {"R_trustStorePropertyDescription", "The path to the certificate TrustStore file."},
            {"R_trustStorePasswordPropertyDescription",
                    "The password used to check the integrity of the trust store data."},
            {"R_trustManagerClassPropertyDescription",
                    "The class to instantiate as the TrustManager for SSL connections."},
            {"R_trustManagerConstructorArgPropertyDescription",
                    "The optional argument to pass to the constructor specified by trustManagerClass."},
            {"R_hostNameInCertificatePropertyDescription",
                    "The host name to be used when validating the SQL Server Secure Sockets Layer (SSL) certificate."},
            {"R_sendTimeAsDatetimePropertyDescription",
                    "Determines whether to use the SQL Server datetime data type to send java.sql.Time values to the database."},
            {"R_TransparentNetworkIPResolutionPropertyDescription",
                    "Determines whether to use the Transparent Network IP Resolution feature."},
            {"R_queryTimeoutPropertyDescription",
                    "The number of seconds to wait before the database reports a query time-out."},
            {"R_socketTimeoutPropertyDescription",
                    "The number of milliseconds to wait before the java.net.SocketTimeoutException is raised."},
            {"R_serverPreparedStatementDiscardThresholdPropertyDescription",
                    "The threshold for when to close discarded prepare statements on the server (calling a batch of sp_unprepares). "
                            + "A value of 1 or less will cause sp_unprepare to be called immediately on PreparedStatment close."},
            {"R_enablePrepareOnFirstPreparedStatementCallPropertyDescription",
                    "This setting specifies whether a prepared statement is prepared (sp_prepexec) on first use (property=true) or on second after first calling sp_executesql (property=false)."},
            {"R_statementPoolingCacheSizePropertyDescription",
                    "This setting specifies the size of the prepared statement cache for a connection. A value less than 1 means no cache."},
            {"R_gsscredentialPropertyDescription", "Impersonated GSS Credential to access SQL Server."},
            {"R_msiClientIdPropertyDescription",
                    "Client Id of User Assigned Managed Identity to be used for generating access token for Azure AD MSI Authentication"},
            {"R_noParserSupport", "An error occurred while instantiating the required parser. Error: \"{0}\""},
            {"R_writeOnlyXML", "Cannot read from this SQLXML instance. This instance is for writing data only."},
            {"R_dataHasBeenReadXML", "Cannot read from this SQLXML instance. The data has already been read."},
            {"R_readOnlyXML", "Cannot write to this SQLXML instance. This instance is for reading data only."},
            {"R_dataHasBeenSetXML", "Cannot write to this SQLXML instance. The data has already been set."},
            {"R_noDataXML", "No data has been set in this SQLXML instance."},
            {"R_cantSetNull", "Cannot set a null value."},
            {"R_failedToParseXML", "Failed to parse the XML. Error: \"{0}\""},
            {"R_isFreed", "This {0} object has been freed. It can no longer be accessed."},
            {"R_invalidProperty", "This property is not supported: {0}."},
            {"R_referencingFailedTSP", "The DataSource trustStore password needs to be set."},
            {"R_valueOutOfRange", "One or more values is out of range of values for the {0} SQL Server data type."},
            {"R_valueOutOfRangeSQLType", "One or more values is out of range of values for the {0} SQL type."},
            {"R_integratedAuthenticationFailed", "Integrated authentication failed."},
            {"R_permissionDenied", "Security violation. Permission to target \"{0}\" denied."},
            {"R_getSchemaError", "Error getting default schema name."},
            {"R_setSchemaWarning", "Warning: setSchema is a no-op in this driver version."},
            {"R_updateCountOutofRange", "The update count value is out of range."},
            {"R_limitOffsetNotSupported", "OFFSET clause in limit escape sequence is not supported."},
            {"R_limitEscapeSyntaxError", "Error in limit escape syntax. Failed to parse query."},
            {"R_featureNotSupported", "{0} is not supported."},
            {"R_zoneOffsetError", "Error in retrieving zone offset."},
            {"R_invalidMaxRows", "The supported maximum row count for a result set is Integer.MAX_VALUE or less."},
            {"R_schemaMismatch", "Source and destination schemas do not match."},
            {"R_invalidColumn", "Column {0} is invalid.  Please check your column mappings."},
            {"R_invalidDestinationTable", "Destination table name is missing or invalid."},
            {"R_unableRetrieveColMeta", "Unable to retrieve column metadata."},
            {"R_invalidDestConnection",
                    "Destination connection must be a connection from the Microsoft JDBC Driver for SQL Server."},
            {"R_unableRetrieveSourceData", "Unable to retrieve data from the source."},
            {"R_ParsingError", "Failed to parse data for the {0} type."},
            {"R_BulkTypeNotSupported", "Data type {0} is not supported in bulk copy."},
            {"R_BulkTypeNotSupportedDW", "Data type {0} is not supported in bulk copy against Azure Data Warehouse."},
            {"R_invalidTransactionOption",
                    "UseInternalTransaction option cannot be set to TRUE when used with a Connection object."},
            {"R_invalidNegativeArg", "The {0} argument cannot be negative."},
            {"R_BulkColumnMappingsIsEmpty",
                    "Cannot perform bulk copy operation if the only mapping is an identity column and KeepIdentity is set to false."},
            {"R_DataSchemaMismatch", "Source data does not match source schema."},
            {"R_BulkDataDuplicateColumn", "Duplicate column names are not allowed."},
            {"R_invalidColumnOrdinal", "Column {0} is invalid. Column number should be greater than zero."},
            {"R_unsupportedEncoding", "The encoding {0} is not supported."},
            {"R_UnexpectedDescribeParamFormat",
                    "Internal error. The format of the resultset returned by sp_describe_parameter_encryption is invalid. One of the resultsets is missing."},
            {"R_InvalidEncryptionKeyOrdinal",
                    "Internal error. The referenced column encryption key ordinal \"{0}\" is missing in the encryption metadata returned by sp_describe_parameter_encryption. Max ordinal is \"{1}\"."},
            {"R_MissingParamEncryptionMetadata",
                    "Internal error. Metadata for some parameters in statement or procedure \"{0}\" is missing in the resultset returned by sp_describe_parameter_encryption."},
            {"R_UnableRetrieveParameterMetadata", "Unable to retrieve parameter encryption metadata."},
            {"R_InvalidCipherTextSize",
                    "Specified ciphertext has an invalid size of {0} bytes, which is below the minimum {1} bytes required for decryption."},
            {"R_InvalidAlgorithmVersion",
                    "The specified ciphertext''s encryption algorithm version {0} does not match the expected encryption algorithm version {1} ."},
            {"R_InvalidAuthenticationTag", "Specified ciphertext has an invalid authentication tag. "},
            {"R_EncryptionFailed", "Internal error while encryption:  {0} "},
            {"R_DecryptionFailed", "Internal error while decryption:  {0} "},
            {"R_InvalidKeySize",
                    "The column encryption key has been successfully decrypted but it''s length: {0} does not match the length: {1} for algorithm \"{2}\". "
                            + "Verify the encrypted value of the column encryption key in the database."},
            {"R_InvalidEncryptionType",
                    "Encryption type {0} specified for the column in the database is either invalid or corrupted. Valid encryption types for algorithm {1} are: {2}."},
            {"R_UnknownColumnEncryptionAlgorithm",
                    "The Algorithm {0} does not exist. Algorithms registered in the factory are {1}."},
            {"R_KeyExtractionFailed", "Key extraction failed : {0} ."},
            {"R_UntrustedKeyPath",
                    "The column master key path {0} received from server {1} is not a trusted key path. The column master key path may be corrupt or you should set {0} as a trusted key path "
                            + "using SQLServerConnection.setColumnEncryptionTrustedMasterKeyPaths()."},
            {"R_UnrecognizedKeyStoreProviderName",
                    "Failed to decrypt a column encryption key. Invalid key store provider name: {0}. A key store provider name must denote either a system key store provider "
                            + "or a registered custom key store provider. Valid system key provider names are: {1}. Valid (currently registered) custom key store provider names are: "
                            + "{2}. Please verify key store provider information in column master key definitions in the database, and verify all custom key store providers "
                            + "used in your application are registered properly."},
            {"R_UnsupportedDataTypeAE", "Encryption and decryption of data type {0} is not supported."},
            {"R_NormalizationErrorAE", "Decryption of the data type {0} failed. Normalization error."},
            {"R_UnsupportedNormalizationVersionAE",
                    "Normalization version \"{0}\" received from SQL Server is either invalid or corrupted. Valid normalization versions are: {1}."},
            {"R_NullCipherTextAE", "Internal error. Ciphertext value cannot be null."},
            {"R_NullColumnEncryptionAlgorithmAE",
                    "Internal error. Encryption algorithm cannot be null. Valid algorithms are: {1}."},
            {"R_CustomCipherAlgorithmNotSupportedAE", "Custom cipher algorithm not supported."},
            {"R_PlainTextNullAE", "Internal error. Plaintext value cannot be null."},
            {"R_StreamingDataTypeAE", "Data of length greater than {0} is not supported in encrypted {1} column."},
            {"R_AE_NotSupportedByServer", "SQL Server instance in use does not support column encryption."},
            {"R_InvalidAEVersionNumber", "Received invalid version number \"{0}\" for Always Encrypted."}, // From
                                                                                                           // Server
            {"R_NullEncryptedColumnEncryptionKey", "Internal error. Encrypted column encryption key cannot be null."},
            {"R_EmptyEncryptedColumnEncryptionKey", "Internal error. Empty encrypted column encryption key specified."},
            {"R_InvalidMasterKeyDetails", "Invalid master key details specified."},
            {"R_CertificateError", "Error occurred while retrieving certificate \"{0}\" from keystore \"{1}\"."},
            {"R_ByteToShortConversion", "Error occurred while decrypting column encryption key."},
            {"R_InvalidCertificateSignature",
                    "The specified encrypted column encryption key signature does not match the signature computed with the column master key (certificate) in \"{0}\". "
                            + "The encrypted column encryption key may be corrupt, or the specified path may be incorrect."},
            {"R_CEKDecryptionFailed", "Exception while decryption of encrypted column encryption key:  {0} "},
            {"R_NullKeyEncryptionAlgorithm", "Key encryption algorithm cannot be null."},
            {"R_NullKeyEncryptionAlgorithmInternal", "Internal error. Key encryption algorithm cannot be null."},
            {"R_InvalidKeyEncryptionAlgorithm",
                    "Invalid key encryption algorithm specified: {0}. Expected value: {1}."},
            {"R_InvalidKeyEncryptionAlgorithmInternal",
                    "Internal error. Invalid key encryption algorithm specified: {0}. Expected value: {1}."},
            {"R_NullColumnEncryptionKey", "Column encryption key cannot be null."},
            {"R_EmptyColumnEncryptionKey", "Empty column encryption key specified."},
            {"R_CertificateNotFoundForAlias",
                    "Certificate with alias {0} not found in the store provided by {1}. Verify the certificate has been imported correctly into the certificate location/store."},
            {"R_UnrecoverableKeyAE", "Cannot recover private key from keystore with certificate details {0}. "
                    + " Verify that imported certificate for Always Encrypted contains private key and password provided for certificate is correct."},
            {"R_KeyStoreNotFound",
                    "System cannot find the key store file at the specified path. Verify that the path is correct and you have proper permissions to access it."},
            {"R_CustomKeyStoreProviderMapNull",
                    "Column encryption key store provider map cannot be null. Expecting a non-null value."},
            {"R_EmptyCustomKeyStoreProviderName",
                    "Invalid key store provider name specified. Key store provider names cannot be null or empty."},
            {"R_InvalidCustomKeyStoreProviderName",
                    "Invalid key store provider name {0}. {1} prefix is reserved for system key store providers."},
            {"R_CustomKeyStoreProviderValueNull",
                    "Null reference specified for key store provider {0}. Expecting a non-null value."},
            {"R_CustomKeyStoreProviderSetOnce", "Key store providers cannot be set more than once."},
            {"R_unknownColumnEncryptionType", "Invalid column encryption type {0}."},
            {"R_unsupportedStmtColEncSetting", "SQLServerStatementColumnEncryptionSetting cannot be null."},
            {"R_unsupportedConversionAE", "The conversion from {0} to {1} is unsupported for encrypted column."},
            {"R_InvalidDataForAE",
                    "The given value of type {0} from the data source cannot be converted to type {1} of the specified target column."},
            {"R_authenticationPropertyDescription", "The authentication to use."},
            {"R_accessTokenPropertyDescription", "The access token to use for Azure Active Directory."},
            {"R_FedAuthRequiredPreLoginResponseInvalidValue",
                    "Server sent an unexpected value for FedAuthRequired PreLogin Option. Value was {0}."},
            {"R_FedAuthInfoLengthTooShortForCountOfInfoIds",
                    "The FedAuthInfo token must at least contain 4 bytes indicating the number of info IDs."},
            {"R_FedAuthInfoInvalidOffset",
                    "FedAuthInfoDataOffset points to an invalid location. Current dataOffset is {0}."},
            {"R_FedAuthInfoFailedToReadData", "Failed to read FedAuthInfoData."},
            {"R_FedAuthInfoLengthTooShortForData",
                    "FEDAUTHINFO token stream is not long enough ({0}) to contain the data it claims to."},
            {"R_FedAuthInfoDoesNotContainStsurlAndSpn",
                    "FEDAUTHINFO token stream does not contain both STSURL and SPN."},
            {"R_ADALExecution", "Failed to authenticate the user {0} in Active Directory (Authentication={1})."},
            {"R_UnrequestedFeatureAckReceived", "Unrequested feature acknowledge is received. Feature ID: {0}."},
            {"R_FedAuthFeatureAckContainsExtraData",
                    "Federated authentication feature extension ack for ADAL and Security Token includes extra data."},
            {"R_FedAuthFeatureAckUnknownLibraryType",
                    "Attempting to use unknown federated authentication library. Library ID: {0}."},
            {"R_UnknownFeatureAck", "Unknown feature acknowledge is received."},
            {"R_SetAuthenticationWhenIntegratedSecurityTrue",
                    "Cannot set \"Authentication\" with \"IntegratedSecurity\" set to \"true\"."},
            {"R_NtlmNoUserPasswordDomain",
                    "\"User\" (or \"UserName\") and \"Password\" connection properties must be specified for NTLM authentication."},
            {"R_SetAccesstokenWhenIntegratedSecurityTrue",
                    "Cannot set the AccessToken property if the \"IntegratedSecurity\" connection string keyword has been set to \"true\"."},
            {"R_IntegratedAuthenticationWithUserPassword",
                    "Cannot use \"Authentication=ActiveDirectoryIntegrated\" with \"User\", \"UserName\" or \"Password\" connection string keywords."},
            {"R_MSIAuthenticationWithUserPassword",
                    "Cannot use \"Authentication=ActiveDirectoryMSI\" with \"User\", \"UserName\" or \"Password\" connection string keywords."},
            {"R_AccessTokenWithUserPassword",
                    "Cannot set the AccessToken property if \"User\", \"UserName\" or \"Password\" has been specified in the connection string."},
            {"R_AccessTokenCannotBeEmpty", "AccesToken cannot be empty."},
            {"R_SetBothAuthenticationAndAccessToken",
                    "Cannot set the AccessToken property if \"Authentication\" has been specified in the connection string."},
            {"R_NoUserPasswordForActivePassword",
                    "Both \"User\" (or \"UserName\") and \"Password\" connection string keywords must be specified, if \"Authentication=ActiveDirectoryPassword\"."},
            {"R_NoUserPasswordForSqlPassword",
                    "Both \"User\" (or \"UserName\") and \"Password\" connection string keywords must be specified, if \"Authentication=SqlPassword\"."},
            {"R_ForceEncryptionTrue_HonorAEFalse",
                    "Cannot set Force Encryption to true for parameter {0} because enryption is not enabled for the statement or procedure {1}."},
            {"R_ForceEncryptionTrue_HonorAETrue_UnencryptedColumn",
                    "Cannot execute statement or procedure {0} because Force Encryption was set as true for parameter {1} and the database expects this parameter to be sent as plaintext. "
                            + "This may be due to a configuration error."},
            {"R_ForceEncryptionTrue_HonorAEFalseRS",
                    "Cannot set Force Encryption to true for parameter {0} because encryption is not enabled for the statement or procedure."},
            {"R_ForceEncryptionTrue_HonorAETrue_UnencryptedColumnRS",
                    "Cannot execute update because Force Encryption was set as true for parameter {0} and the database expects this parameter to be sent as plaintext. "
                            + "This may be due to a configuration error."},
            {"R_NullValue", "{0} cannot be null."}, {"R_AKVPathNull", "Azure Key Vault key path cannot be null."},
            {"R_AKVURLInvalid", "Invalid URL specified: {0}."},
            {"R_AKVMasterKeyPathInvalid", "Invalid Azure Key Vault key path specified: {0}."},
            {"R_EmptyCEK", "Empty column encryption key specified."},
            {"R_EncryptedCEKNull", "Encrypted column encryption key cannot be null."},
            {"R_EmptyEncryptedCEK", "Encrypted Column Encryption Key length should not be zero."},
            {"R_NonRSAKey", "Cannot use a non-RSA key: {0}."},
            {"R_GetAKVKeySize", "Unable to get the Azure Key Vault public key size in bytes."},
            {"R_InvalidEcryptionAlgorithmVersion",
                    "Specified encrypted column encryption key contains an invalid encryption algorithm version {0}. Expected version is {1}."},
            {"R_AKVKeyLengthError",
                    "The specified encrypted column encryption key''s ciphertext length: {0} does not match the ciphertext length: {1} when using column master key (Azure Key Vault key) in {2}. "
                            + "The encrypted column encryption key may be corrupt, or the specified Azure Key Vault key path may be incorrect."},
            {"R_AKVSignatureLengthError",
                    "The specified encrypted column encryption key''s signature length: {0} does not match the signature length: {1} when using column master key (Azure Key Vault key) in {2}. "
                            + "The encrypted column encryption key may be corrupt, or the specified Azure Key Vault key path may be incorrect."},
            {"R_HashNull", "Hash should not be null while decrypting encrypted column encryption key."},
            {"R_NoSHA256Algorithm", "SHA-256 Algorithm is not supported."},
            {"R_VerifySignature", "Unable to verify signature of the column encryption key."},
            {"R_CEKSignatureNotMatchCMK",
                    "The specified encrypted column encryption key signature does not match the signature computed with the column master key (Asymmetric key in Azure Key Vault) in {0}. "
                            + "The encrypted column encryption key may be corrupt, or the specified path may be incorrect."},
            {"R_DecryptCEKError", "Unable to decrypt column encryption key using specified Azure Key Vault key."},
            {"R_EncryptCEKError", "Unable to encrypt column encryption key using specified Azure Key Vault key."},
            {"R_CipherTextLengthNotMatchRSASize", "CipherText length does not match the RSA key size."},
            {"R_GenerateSignature", "Unable to generate signature using a specified Azure Key Vault Key URL."},
            {"R_SignedHashLengthError", "Signed hash length does not match the RSA key size."},
            {"R_InvalidSignatureComputed", "Invalid signature of the encrypted column encryption key computed."},
            {"R_UnableLoadADALSqlDll",
                    "Unable to load adalsql.dll. Error code: 0x{0}. For details, see: http://go.microsoft.com/fwlink/?LinkID=513072"},
            {"R_ADALAuthenticationMiddleErrorMessage", "Error code 0x{0}; state {1}."},
            {"R_unsupportedDataTypeTVP", "Data type {0} not supported in Table-Valued Parameter."},
            {"R_moreDataInRowThanColumnInTVP", "Input array is longer than the number of columns in this table."},
            {"R_invalidTVPName", " The Table-Valued Parameter must have a valid type name."},
            {"R_invalidThreePartName", "Invalid 3 part name format for TypeName."},
            {"R_unsupportedConversionTVP", "The conversion from {0} to {1} is unsupported for Table-Valued Parameter."},
            {"R_TVPMixedSource",
                    "Cannot add column metadata. This Table-Valued Parameter has a ResultSet from which metadata will be derived."},
            {"R_TVPEmptyMetadata",
                    "There are not enough fields in the Structured type. Structured types must have at least one field."},
            {"R_TVPInvalidValue",
                    "The value provided for Table-Valued Parameter {0} is not valid. Only SQLServerDataTable, ResultSet and ISQLServerDataRecord objects are supported."},
            {"R_TVPInvalidColumnValue", "Input data is not in correct format."},
            {"R_TVPSortOrdinalGreaterThanFieldCount",
                    "The sort ordinal {0} on field {1} exceeds the total number of fields."},
            {"R_TVPMissingSortOrderOrOrdinal",
                    "The sort order and ordinal must either both be specified, or neither should be specified (SortOrder.Unspecified and -1). The values given were: order = {0}, ordinal = {1}."},
            {"R_TVPDuplicateSortOrdinal", "The sort ordinal {0} was specified twice."},
            {"R_TVPMissingSortOrdinal", "The sort ordinal {0} was not specified."},
            {"R_TVPDuplicateColumnName", "A column name {0} already belongs to this SQLServerDataTable."},
            // This is used for connection settings. {0}-> property name as is, {1}-> value
            {"R_InvalidConnectionSetting", "The {0} value \"{1}\" is not valid."},
            {"R_InvalidWindowsCertificateStoreEncryption",
                    "Cannot encrypt a column encryption key with the Windows Certificate Store."},
            {"R_AEKeypathEmpty",
                    "Internal error. Certificate path cannot be null. Use the following format: \"certificate location/certificate store/certificate thumbprint\", "
                            + "where \"certificate location\" is either LocalMachine or CurrentUser."},
            {"R_AEWinApiErr", "Windows Api native error."},
            {"R_AECertpathBad",
                    "Internal error. Invalid certificate path: {0}. Use the following format: \"certificate location/certificate store/certificate thumbprint\", "
                            + "where \"certificate location\" is either LocalMachine or CurrentUser."},
            {"R_AECertLocBad",
                    "Internal error. Invalid certificate location {0} in certificate path {1}. Use the following format: \"certificate location/certificate store/certificate thumbprint\", "
                            + "where \"certificate location\" is either LocalMachine or CurrentUser."},
            {"R_AECertStoreBad",
                    "Internal error. Invalid certificate store {0} specified in certificate path {1}. Expected value: My."},
            {"R_AECertHashEmpty", "Internal error. Empty certificate thumbprint specified in certificate path {0}."},
            {"R_AECertNotFound",
                    "Certificate with thumbprint {2} not found in certificate store {1} in certificate location {0}. Verify the certificate path in the column master key definition "
                            + "in the database is correct, and the certificate has been imported correctly into the certificate location/store."},
            {"R_AEMaloc", "Memory allocation failure."},
            {"R_AEKeypathLong",
                    "Internal error. Specified certificate path has {0} bytes, which exceeds maximum length of {1} bytes."},
            {"R_AEECEKLenBad",
                    "The specified encrypted column encryption key''s ciphertext length: {0} does not match the ciphertext length: {1} when using column master key (certificate) in \"{2}\". "
                            + "The encrypted column encryption key may be corrupt, or the specified certificate path may be incorrect."},
            {"R_AEECEKSigLenBad",
                    "The specified encrypted column encryption key''s signature length {0} does not match the length {1} when using the column master key (certificate) in \"{2}\". "
                            + "The encrypted column encryption key may be corrupt, or the specified certificate path may be incorrect."},
            {"R_AEKeyPathEmptyOrReserved",
                    "The certificate path \"{0}\" is invalid; it is empty or contains reserved directory names."},
            {"R_AEKeyPathCurUser",
                    "CurrentUser was specified in key path but an error occurred obtaining the current user''s initial working directory."},
            {"R_AEKeyFileOpenError", "Error opening certificate file {0}."},
            {"R_AEKeyFileReadError", "Error reading certificate file {0}."},
            {"R_keyStoreAuthenticationPropertyDescription", "The name that identifies a key store."},
            {"R_keyStoreSecretPropertyDescription",
                    "The authentication secret or information needed to locate the secret."},
            {"R_keyStoreLocationPropertyDescription", "The key store location."},
            {"R_keyStoreAuthenticationNotSet",
                    "\"keyStoreAuthentication\" connection string keyword must be specified, if \"{0}\" is specified."},
            {"R_keyStoreSecretOrLocationNotSet",
                    "Both \"keyStoreSecret\" and \"keyStoreLocation\" must be set, if \"keyStoreAuthentication=JavaKeyStorePassword\" has been specified in the connection string."},
            {"R_certificateStoreInvalidKeyword",
                    "Cannot set \"keyStoreSecret\", if \"keyStoreAuthentication=CertificateStore\" has been specified in the connection string."},
            {"R_certificateStoreLocationNotSet",
                    "\"keyStoreLocation\" must be specified, if \"keyStoreAuthentication=CertificateStore\" has been specified in the connection string."},
            {"R_certificateStorePlatformInvalid",
                    "Cannot set \"keyStoreAuthentication=CertificateStore\" on a Windows operating system."},
            {"R_invalidKeyStoreFile",
                    "Cannot parse \"{0}\". Either the file format is not valid or the password is not correct."}, // for
                                                                                                                  // JKS/PKCS
            {"R_invalidCEKCacheTtl",
                    "Invalid column encryption key cache time-to-live specified. The columnEncryptionKeyCacheTtl value cannot be negative and timeUnit can only be DAYS, HOURS, MINUTES or SECONDS."},
            {"R_sendTimeAsDateTimeForAE", "Use sendTimeAsDateTime=false with Always Encrypted."},
            {"R_TVPnotWorkWithSetObjectResultSet",
                    "setObject() with ResultSet is not supported for Table-Valued Parameter. Please use setStructured()."},
            {"R_invalidQueryTimeout", "The queryTimeout {0} is not valid."},
            {"R_invalidSocketTimeout", "The socketTimeout {0} is not valid."},
            {"R_fipsPropertyDescription", "Determines if FIPS mode is enabled."},
            {"R_invalidFipsConfig", "Unable to verify FIPS mode settings."},
            {"R_serverPreparedStatementDiscardThreshold",
                    "The serverPreparedStatementDiscardThreshold {0} is not valid."},
            {"R_statementPoolingCacheSize", "The statementPoolingCacheSize {0} is not valid."},
            {"R_kerberosLoginFailedForUsername",
                    "Cannot login with Kerberos principal {0}, check your credentials. {1}"},
            {"R_kerberosLoginFailed", "Kerberos Login failed: {0} due to {1} ({2})"},
            {"R_StoredProcedureNotFound", "Could not find stored procedure ''{0}''."},
            {"R_jaasConfigurationNamePropertyDescription", "Login configuration file for Kerberos authentication."},
            {"R_AKVKeyNotFound", "Key not found: {0}"},
            {"R_SQLVariantSupport", "SQL_VARIANT is not supported in versions of SQL Server before 2008."},
            {"R_invalidProbbytes", "SQL_VARIANT: invalid probBytes for {0} type."},
            {"R_invalidStringValue", "SQL_VARIANT does not support string values of length greater than 8000."},
            {"R_invalidValueForTVPWithSQLVariant", "Use of TVPs containing null sql_variant columns is not supported."},
            {"R_invalidDataTypeSupportForSQLVariant", "Unexpected TDS type ' '{0}' ' in SQL_VARIANT."},
            {"R_sslProtocolPropertyDescription",
                    "SSL protocol label from TLS, TLSv1, TLSv1.1, and TLSv1.2. The default is TLS."},
            {"R_invalidSSLProtocol",
                    "SSL Protocol {0} label is not valid. Only TLS, TLSv1, TLSv1.1, and TLSv1.2 are supported."},
            {"R_cancelQueryTimeoutPropertyDescription",
                    "The number of seconds to wait to cancel sending a query timeout."},
            {"R_invalidCancelQueryTimeout", "The cancel timeout value {0} is not valid."},
            {"R_useBulkCopyForBatchInsertPropertyDescription",
                    "Whether the driver will use bulk copy API for batch insert operations"},
            {"R_UnknownDataClsTokenNumber", "Unknown token for Data Classification."}, // From Server
            {"R_InvalidDataClsVersionNumber", "Invalid version number {0} for Data Classification."}, // From Server
            {"R_unknownUTF8SupportValue", "Unknown value for UTF8 support."},
            {"R_illegalWKT", "Illegal Well-Known text. Please make sure Well-Known text is valid."},
            {"R_illegalTypeForGeometry", "{0} is not supported for Geometry."},
            {"R_illegalWKTposition", "Illegal character in Well-Known text at position {0}."},
            {"R_keyVaultProviderClientIdPropertyDescription",
                    "The client ID used to access the Key Vault where the column encryption master key is stored."},
            {"R_keyVaultProviderClientKeyPropertyDescription",
                    "The client key used to access the Key Vault where the column encryption master key is stored."},
            {"R_ADALMissing", "Failed to load ADAL4J Java library for performing {0} authentication."},
            {"R_DLLandADALMissing",
                    "Failed to load both {0} and ADAL4J Java library for performing {1} authentication. Please install one of them to proceed."},
            {"R_MSITokenFailureImds", "MSI Token failure: Failed to acquire access token from IMDS"},
            {"R_MSITokenFailureImdsClientId",
                    "MSI Token failure: Failed to acquire access token from IMDS, verify your clientId."},
            {"R_MSITokenFailureUnexpected",
                    "MSI Token failure: Failed to acquire access token from IMDS, unexpected error occurred."},
            {"R_MSITokenFailureEndpoint", "MSI Token failure: Failed to acquire token from MSI Endpoint"},
            {"R_propertyNotSupported",
                    "Microsoft JDBC Driver for SQL Server currently does not support the property: {0}"},
            {"R_ntlmHmacMD5Error", "Unable to initialize NTLM authentication: HMAC-MD5 initialization error."},
            {"R_ntlmSignatureError", "NTLM Challenge Message signature error: {0}"},
            {"R_ntlmMessageTypeError", "NTLM Challenge Message type error: {0}"},
            {"R_ntlmAuthenticateError", "NTLM error when constructing Authenticate Message: {0}"},
            {"R_ntlmNoTargetInfo", "NTLM Challenge Message is missing TargetInfo."},
            {"R_ntlmUnknownValue", "NTLM Challenge Message TargetInfo error: unknown value \"{0}\""},
            {"R_useFmtOnlyPropertyDescription",
                    "Determines whether to enable/disable use of SET FMTONLY to retrieve parameter metadata."},
            {"R_invalidOpenqueryCall",
                    "Invalid syntax: OPENQUERY/OPENJSON/OPENDATASOURCE/OPENROWSET/OPENXML must be preceded by round brackets"},
            {"R_invalidCTEFormat",
                    "Invalid syntax: AS must be followed by round brackets in Common Table Expressions."},
            {"R_noTokensFoundInUserQuery", "Invalid query: No tokens were parsed from the SQL provided."},
            {"R_invalidUserSQL", "An error occurred when attempting to parse user SQL. Please verify SQL syntax."},
            {"R_invalidInsertValuesQuery",
                    "An error occurred when matching VALUES list to table columns. Please verify SQL syntax."},
            {"R_invalidValuesList", "An error occurred when reading VALUES list. Please verify SQL syntax."},
            {"R_enclaveNotSupported", "The SQL Server instance does not support enclave based computations."},
            {"R_enclavePropertiesError",
                    "The \"columnEncryptionSetting\" connection property must be enabled, along with valid \"enclaveAttestationUrl\" and \"enclaveAttestationProtocol\" connection properties when enabling Always Encrypted with secure enclaves."},
            {"R_enclaveInvalidAttestationProtocol", "The \"enclaveAttestationProtocol\" is invalid."},
            {"R_enclaveTypeInvalid", "The enclave type {0} is invalid or not supported by the driver."},
            {"R_attestationUrlInvalid", "Unable to attest enclave specified by {0}."},
            {"R_EnclaveResponseLengthError",
                    "More bytes from the server were received than expected when parsing the enclave attestation response."},
            {"R_EnclavePackageLengthError",
                    "More bytes from the server were received than expected when parsing the enclave package."},
            {"R_EnclavePKLengthError",
                    "More bytes from the server were received than expected when parsing the enclave public key."},
            {"R_MalformedECDHPublicKey", "The ECDH public key from the server must be 104 bits in length."},
            {"R_MalformedECDHHeader", "Unexpected values for ECDH public key header from the server."},
            {"R_HealthCertError",
                    "Enclave attestation failed, could not retrieve health report certificates provided in the enclave: {0}."},
            {"R_InvalidHealthCert",
                    "Enclave attestation failed, the health report certificate provided in the enclave was not signed by the HGS."},
            {"R_InvalidSignedStatement",
                    "Enclave attestation failed, the statement bytes were not signed by the health certificate."},
            {"R_InvalidDHKeySignature",
                    "Enclave attestation failed, the DH public key signature can't be verified with the enclave public key."},
            {"R_AasJWTError", "An error occured when retrieving and validating the JSON web token."},
            {"R_AasEhdError", "aas-ehd claim from JWT did not match enclave public key."},
            {"R_VbsRpDataError", "rp_data claim from JWT did not match client nonce."},};
};




© 2015 - 2024 Weber Informatics LLC | Privacy Policy