Saltar al contenido

Detalles de Conexión de IBM Cloudant

Introducción

Versión del conector

Esta documentación se basa en la versión 21.0.8383 del conector.

Empezando

Compatibilidad con la versión de Cloudant

El conector aprovecha la API de Cloudant para permitir el acceso bidireccional a los datos de Cloudant a través de SQL estándar. Consulte Asignación de consultas para asignaciones de consultas de SQL a Cloudant y más información sobre el acceso a datos no estructurados en Cloudant a través de SQL.

Establecer una Conexión

Autenticación en Cloudant

Hay dos métodos de autenticación disponibles para conectarse a Cloudant: IBM Cloudant Legacy e IBM Cloud IAM.

Autenticación con IBM Cloudant Legacy

Selecciona el User y Password a sus credenciales de servicio.

Para crear una credencial de servicio de IBM Cloudant:

  1. En el panel de control de IBM Cloud, vaya al icono de menú > Lista de recursos y abra su instancia de servicio de IBM Cloudant.
  2. En el menú, haga clic en Credenciales de servicio.
  3. Haga clic en el botón Nueva credencial e ingrese un nombre para la nueva credencial en la ventana Agregar nueva credencial.
  4. Haga clic en el botón Agregar. Sus credenciales se agregan a la tabla de credenciales de servicio.
  5. Haga clic en Ver credenciales en Acciones y extraiga el User y Password del archivo json.
Autenticación a la Instancia Local

Admitimos instancias locales desde la versión 1.1.0 y superior.

Para autenticarse en su instancia local, debe configurar:

  1. URL a la URL de su instancia local. Por ejemplo: http://localhost:8006
  2. User a su nombre de usuario.
  3. Password a su Contraseña.

Ajuste Fino del Acceso a los Datos

Ajuste Fino del Acceso a los Datos

Puede usar las siguientes propiedades para obtener control sobre el comportamiento de la columna en Detección automática de esquemas.

  • RowScanDepth: esta propiedad determina la cantidad de filas que se escanearán para detectar tipos de datos de columna al generar metadatos de tabla.
  • TypeDetectionScheme: Esta propiedad permite un mayor control sobre la estrategia implementada por el RowScanDepth propiedad.

Base de Datos NoSQL

Cloudant es una base de datos de documentos sin esquema que proporciona alto rendimiento, disponibilidad y escalabilidad. Estas características no son necesariamente incompatibles con un lenguaje de consultar compatible con estándares como SQL-92. Las siguientes secciones muestran varios esquemas que ofrece el conector para cerrar la brecha con SQL relacional y una base de datos de documentos.

El conector modela los objetos Cloudant sin esquema en tablas relacionales y traduce las consultas SQL en consultas Cloudant para obtener los datos solicitados. Consulte Asignación de consultas para obtener más detalles sobre cómo se representan varias operaciones de Cloudant como SQL.

El Descubrimiento automático de esquemas encuentra automáticamente los tipos de datos en un objeto Cloudant escaneando un número configurado de filas del objeto. Puedes usar RowScanDepth, FlattenArrays, y FlattenObjects para controlar la representación relacional de las colecciones en Cloudant.

El esquema de la tabla es necesario para reportar metadatos, pero puede escribir Consultas de formato libre no vinculado al esquema para seleccionar, insertar, actualizar o eliminar datos de columnas que no existen en el esquema.

El conector admite el listado de vistas de Cloudant y la recuperación de datos de ellas. Esto está controlado por la propiedad ListViews que se establece en falso de forma predeterminada. Establezca esta propiedad en true para que se muestren las vistas de Cloudant al enumerar las tablas.

Descubrimiento Automático de Esquemas

El conector infiere automáticamente un esquema relacional al inspeccionar una serie de documentos de Cloudant en una colección. Puedes usar el RowScanDepth propiedad para definir el número de documentos que escaneará el conector para hacerlo. Las columnas identificadas durante el proceso de descubrimiento dependen de FlattenArrays y FlattenObjects propiedades.

Aplanar Objetos

Si FlattenObjects está configurado, todos los objetos anidados se aplanarán en una serie de columnas. Por ejemplo, considere el siguiente documento:

{
  id: 12,
  name: "Lohia Manufacturers Inc.",
  address: {street: "Main Street", city: "Chapel Hill", state: "NC"},
  offices: ["Chapel Hill", "London", "New York"],
  annual_revenue: 35,600,000
}

Este documento estará representado por las siguientes columnas:

Nombre de columna Tipo de datos Valor de ejemplo
identificación Entero 12
nombre Cadena Lohia Fabricantes Inc.
dirección.calle Cadena Calle principal
dirección.ciudad Cadena Colina de la capilla
dirección.estado Cadena Carolina del Norte
oficinas Cadena ["Chapel Hill", "Londres", "Nueva York"]
ingresos_anuales Doble 35, 600, 000

Si FlattenObjects no está configurado, las columnas dirección.calle, dirección.ciudad y dirección.estado no se dividirán. En cambio, la columna de dirección de tipo cadena representará el objeto completo. su valor seria {street: "Main Street", city: "Chapel Hill", state: "NC"}. Vea Funciones JSON para obtener más detalles sobre cómo trabajar con agregados JSON. Puede cambiar el carácter separador en el nombre de la columna de un punto configurando SeparatorCharacter.

Aplanamiento de Matrices

El FlattenArrays La propiedad se puede usar para aplanar valores de matriz en columnas propias. Esto solo se recomienda para matrices que se espera que sean cortas, por ejemplo, las siguientes coordenadas:

"coord": [-73.856077, 40.848447 ]

El FlattenArrays la propiedad se puede establecer en 2 para representar la matriz anterior de la siguiente manera:

Nombre de columna Tipo de datos Valor de ejemplo
coord.0 Flotador -73.856077
coord.1 Flotador 40.848447

Es mejor dejar otras matrices ilimitadas como están y dividir los datos según sea necesario usando Funciones JSON.

Consultas de Formato Libre

Como se explica en Descubrimiento automático de esquemas, los esquemas de tabla intuitivos permiten el acceso de SQL a datos de Cloudant no estructurados. Funciones JSON le permiten utilizar funciones JSON estándar para resumir datos de Cloudant y extraer valores de cualquier estructura anidada. Sin embargo, no está limitado a estos esquemas.

Después de conectarse, puede consultar cualquier estructura anidada sin aplanar los datos. Cualquier relación a la que pueda acceder con FlattenArrays y FlattenObjects también se puede acceder con una consultar SQL ad hoc.

Consideremos un documento de ejemplo del siguiente conjunto de datos de restaurante:

{
  "address": {
    "building": "1007",
    "coord": [
      -73.856077,
      40.848447
    ],
    "street": "Morris Park Ave",
    "zipcode": "10462"
  },
  "borough": "Bronx",
  "cuisine": "Bakery",
  "grades": [
    {
      "grade": "A",
      "score": 2,
      "date": {
        "$date": "1393804800000"
      }
    },
    {
      "date": {
        "$date": "1378857600000"
      },
      "grade": "B",
      "score": 6
    },
    {
      "score": 10,
      "date": {
        "$date": "1358985600000"
      },
      "grade": "C"
    }
  ],
  "name": "Morris Park Bake Shop",
  "restaurant_id": "30075445"
} 

Puede acceder a cualquier estructura anidada en este documento como una columna. Utilice la notación de puntos para desglosar los valores a los que desea acceder, como se muestra en la consultar a continuación. Tenga en cuenta que las matrices tienen un índice basado en cero. Por ejemplo, la siguiente consultar recupera la segunda calificación del restaurante del ejemplo:

SELECT [address.building], [grados.1.grado] FROM restaurants WHERE restaurant_id = '30075445'

La consultar anterior devuelve los siguientes resultados:

Nombre de columna Tipo de datos Valor de ejemplo
dirección.edificio Cadena 1007
calificaciones.1.grado Cadena un

Aplanamiento Vertical

Es posible recuperar una matriz de documentos como si fuera una tabla separada. Tome la siguiente estructura JSON de la colección de restaurantes, por ejemplo:

{
  "_id" : ObjectId("568c37b748ddf53c5ed98932"),
  "address" : {
    "building" : "1007",
    "coord" : [-73.856077, 40.848447],
    "street" : "Morris Park Ave",
    "zipcode" : "10462"
  },
  "borough" : "Bronx",
  "cuisine" : "Bakery",
  "grades" : [{
      "date" : ISODate("2014-03-03T00:00:00Z"),
      "grade" : "A",
      "score" : 2
    }, {
      "date" : ISODate("2013-09-11T00:00:00Z"),
      "grade" : "A",
      "score" : 6
    }, {
      "date" : ISODate("2013-01-24T00:00:00Z"),
      "grade" : "A",
      "score" : 10
    }, {
      "date" : ISODate("2011-11-23T00:00:00Z"),
      "grade" : "A",
      "score" : 9
    }, {
      "date" : ISODate("2011-03-10T00:00:00Z"),
      "grade" : "B",
      "score" : 14
    }],
  "name" : "Morris Park Bake Shop",
  "restaurant_id" : "30075445"
}

El aplanamiento vertical le permitirá recuperar la matriz de calificaciones como una tabla separada:

SELECT * FROM [restaurants.grades]

Esta consultar devuelve el siguiente conjunto de datos:

fecha grado puntuación P_id _índice
2014-03-03T00:00:00.000Z un 2 568c37b748ddf53c5ed98932 1
2013-09-11T00:00:00.000Z un 6 568c37b748ddf53c5ed98932 2
2013-01-24T00:00:00.000Z un 10 568c37b748ddf53c5ed98932 3

También puede incluir información de la tabla de restaurantes base. Puedes hacer esto con una unión. Las matrices planas solo se pueden unir con el documento raíz. El conector espera que la parte izquierda de la unión sea el documento de matriz que desea aplanar verticalmente. Desactivar SupportEnhancedSQL para unir documentos de Cloudant anidados: este tipo de consultar se admite a través de la API de Cloudant.

SELECT [restaurants].[restaurant_id], [restaurants.grades].* FROM [restaurantes.grados] JOIN [restaurantes] WHERE [restaurants].name = 'Morris Park Bake Shop'

Esta consultar devuelve el siguiente conjunto de datos:

id_restaurante fecha grado puntuación P_id _índice
30075445 2014-03-03T00:00:00.000Z un 2 568c37b748ddf53c5ed98932 1
30075445 2013-09-11T00:00:00.000Z un 6 568c37b748ddf53c5ed98932 2
30075445 2013-01-24T00:00:00.000Z un 10 568c37b748ddf53c5ed98932 3
30075445 2011-11-23T00:00:00.000Z un 9 568c37b748ddf53c5ed98932 4
30075445 2011-03-10T00:00:00.000Z B 14 568c37b748ddf53c5ed98932 5

Funciones JSON

El conector puede devolver estructuras JSON como valores de columna. El conector le permite utilizar funciones SQL estándar para trabajar con estas estructuras JSON. Los ejemplos de esta sección utilizan la siguiente matriz:

[
     { "grade": "A", "score": 2 },
     { "grade": "A", "score": 6 },
     { "grade": "A", "score": 10 },
     { "grade": "A", "score": 9 },
     { "grade": "B", "score": 14 }
]

JSON_EXTRACT

La función JSON_EXTRACT puede extraer valores individuales de un objeto JSON. La siguiente consultar devuelve los valores que se muestran a continuación en función de la ruta JSON pasada como segundo argumento de la función:

SELECT Name, JSON_EXTRACT(grades,'[0].grade') AS Grade, JSON_EXTRACT(grades,'[0].score') AS Score FROM Students;
Nombre de columna Valor de ejemplo
Grade un
Score 2

JSON_COUNT

La función JSON_COUNT devuelve la cantidad de elementos en una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve la cantidad de elementos especificados por la ruta JSON pasada como segundo argumento a la función:

SELECT Name, JSON_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;
Nombre de columna Valor de ejemplo
NumberOfGrades 5

JSON_SUM

La función JSON_SUM devuelve la suma de los valores numéricos de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el total de los valores especificados por la ruta JSON pasada como segundo argumento a la función:

SELECT Name, JSON_SUM(score,'[x].score') AS TotalScore FROM Students;
Nombre de columna Valor de ejemplo
TotalScore 41

JSON_MIN

La función JSON_MIN devuelve el valor numérico más bajo de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el valor mínimo especificado por la ruta JSON pasada como segundo argumento a la función:

SELECT Name, JSON_MIN(score,'[x].score') AS LowestScore FROM Students;
Nombre de columna Valor de ejemplo
LowestScore 2

JSON_MAX

La función JSON_MAX devuelve el valor numérico más alto de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el valor máximo especificado por la ruta JSON pasada como segundo argumento a la función:

SELECT Name, JSON_MAX(score,'[x].score') AS HighestScore FROM Students;
Nombre de columna Valor de ejemplo
HighestScore 14

DOCUMENTO

La función DOCUMENTO se puede utilizar para recuperar el documento completo como una cadena JSON. Vea la siguiente consultar y su resultado como un ejemplo:

SELECT DOCUMENT(*) FROM Customers;

La consultar anterior devolverá el documento completo como se muestra.

{ "id": 12, "name": "Lohia Manufacturers Inc.", "address": { "street": "Main Street", "city": "Chapel Hill", "state": "NC"}, "offices": ["Chapel Hill", "Londres", "Nueva York" ], "annual_revenue": 35,600,000 }

Asignación de Consultas

El conector asigna consultas SQL a las consultas de Cloudant correspondientes. El conector usa la sintaxis Selector para calcular los resultados deseados.

Una descripción detallada de todas las transformaciones está fuera del alcance, pero describiremos algunos de los elementos comunes que se utilizan.

SELECCIONAR Consultas

La instrucción SELECT se asigna a los métodos GET y POST. A continuación se muestran consultas de ejemplo y las cargas útiles de solicitud correspondientes.

SQL Query Cloudant Query
SELECT *
FROM sales

Para esta consultar, se envía una solicitud GET al extremo /_all_docs.

SELECT _id, value
FROM sales
{
"fields": [
"_id",
"value"
],
"skip": 0,
"selector": {
"_id": {
"$exists": true
}
}
}
SELECT *
FROM sales
WHERE value=175033291697
{
"selector": {
"value": {
"$eq": 175033291697
}
},
"skip": 0
}
SELECT *
FROM sales
WHERE value = 175033291697 OR month='June'
{
"selector": {
"$or": [
{
"value": {
"$eq": 175033291697
}
},
{
"month": {
"$eq": "June"
}
}
]
},
"skip": 0
}
SELECT *
FROM sales
WHERE name LIKE 'A%'
{
"selector": {
"name": {
"$regex": "A%"
}
},
"skip": 0
}
SELECT * FROM sales
WHERE month='June'
ORDER BY _id ASC
{
"skip": 0,
"sort": [
{
"_id": "asc"
}
],
"selector": {
"month": {
"$eq": "June"
}
}
}
SELECT *
FROM sales
WHERE month='June'
ORDER BY _id DESC
{
"skip": 0,
"sort": [
{
"_id": "desc"
}
],
"selector": {
"month": {
"$eq": "June"
}
}

}

INSERTAR Declaraciones

La instrucción INSERT se asigna a la solicitud HTTP POST, como se muestra en la siguiente carga útil de consultar y solicitud.

Consulta SQL

INSERT INTO users(_id, age, status, [dirección.ciudad], [address.postalcode])
VALUES ('bcd001', 45, 'A', 'Chapel Hill', 27517)

Consulta Cloudant

{
  "address": {
    "city": "Chapel Hill",
    "postalcode": 27517
  },
  "_id": "bcd001",
  "age": 45,
  "status": "A"
}

ACTUALIZAR Declaraciones

La instrucción UPDATE se asigna al método PUT de HTTP, como se muestra en la siguiente carga útil de consultar y solicitud.

Consulta SQL

UPDATE users
SET status = 'C', [dirección.código postal] = 90210
WHERE _id = 'bcd001'

Consulta Cloudant

{
  "_id": "bcd001",
  "_rev": "1-446f6c67e3a483feae8eaf112f18892c",
  "status": "C",
  "age": 45,
  "address": {
    "city": "Chapel Hill",
    "postalcode": 90210
  }
}

DELETE Declaraciones

La declaración DELETE se asigna al método DELETE como se muestra a continuación.

Consulta SQL

DELETE FROM users WHERE _id = 'bcd001'

Consulta Cloudant

Para esta consultar se envía una solicitud DELETE al `users/{_id}?rev={_re} extremo

Tablas del Sistema

Puede consultar las tablas del sistema que se describen en esta sección para acceder a la información del esquema, la información sobre la funcionalidad del origen de datos y las estadísticas de operación lote.

Tablas de Esquema

Las siguientes tablas devuelven metadatos de la base de datos para Cloudant:

Tablas de Fuentes de Datos

Las siguientes tablas devuelven información sobre cómo conectarse y consultar la fuente de datos:

  • sys_connection_props: Devuelve información sobre las propiedades de conexión disponibles.
  • sys_sqlinfo: describe las consultas SELECT que el conector puede descargar al origen de datos.

Tablas de Información de Consultas

La siguiente tabla devuelve estadísticas de consultar para consultas de modificación de datos:

  • identidad_sys: devuelve información sobre operaciones lote o actualizaciones individuales.

Sys_catalogs

Enumera las bases de datos disponibles.

La siguiente consultar recupera todas las bases de datos determinadas por la cadena de conexión:

SELECT * FROM sys_catalogs
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos.

Sys_schemas

Enumera los esquemas disponibles.

La siguiente consultar recupera todos los esquemas disponibles:

SELECT * FROM sys_schemas
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos.
SchemaName String El nombre del esquema.

Sys_tables

Enumera las tablas disponibles.

La siguiente consultar recupera las tablas y vistas disponibles:

SELECT * FROM sys_tables
Columnas
Nombre Tipo Descripción
CatalogName String La base de datos que contiene la tabla o vista.
SchemaName String El esquema que contiene la tabla o vista.
TableName String El nombre de la tabla o vista.
TableType String El tipo de tabla (tabla o vista).
Description String Una descripción de la tabla o vista.
IsUpdateable Boolean Si la tabla se puede actualizar.

Sys_tablecolumns

Describe las columnas de las tablas y vistas disponibles.

La siguiente consultar devuelve las columnas y los tipos de datos de la tabla Películas:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Movies' 
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la tabla o vista.
SchemaName String El esquema que contiene la tabla o vista.
TableName String El nombre de la tabla o vista que contiene la columna.
ColumnName String El nombre de la columna.
DataTypeName String El nombre del tipo de datos.
DataType Int32 Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente.
Length Int32 El tamaño de almacenamiento de la columna.
DisplaySize Int32 El ancho máximo normal de la columna designada en caracteres.
NumericPrecision Int32 El número máximo de dígitos en datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora.
NumericScale Int32 La escala de columna o número de dígitos a la derecha del punto decimal.
IsNullable Boolean Si la columna puede contener nulo.
Description String Una breve descripción de la columna.
Ordinal Int32 El número de secuencia de la columna.
IsAutoIncrement String Si el valor de la columna se asigna en incrementos fijos.
IsGeneratedColumn String Si se genera la columna.
IsHidden Boolean Si la columna está oculta.
IsArray Boolean Si la columna es una matriz.

Sys_procedimientos

Enumera los procedimientos almacenados disponibles.

La siguiente consultar recupera los procedimientos almacenados disponibles:

SELECT * FROM sys_procedures
Columnas
Nombre Tipo Descripción
CatalogName String La base de datos que contiene el procedimiento almacenado.
SchemaName String El esquema que contiene el procedimiento almacenado.
ProcedureName String El nombre del procedimiento almacenado.
Description String Una descripción del procedimiento almacenado.
ProcedureType String El tipo de procedimiento, como PROCEDIMIENTO o FUNCIÓN.

Sys_procedureparameters

Describe procedimiento almacenado* parámetros.

La siguiente consultar devuelve información sobre todos los parámetros de entrada para el procedimiento almacenado SelectEntries:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' AND Direction=1 OR Direction=2
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene el procedimiento almacenado.
SchemaName String El nombre del esquema que contiene el procedimiento almacenado.
ProcedureName String El nombre del procedimiento almacenado* que contiene el parámetro.
ColumnName String El nombre del procedimiento almacenado* parámetro.
Direction Int32 Un número entero correspondiente al tipo de parámetro: entrada (1), entrada/salida (2) o salida (4). Los parámetros de tipo de entrada/salida pueden ser tanto parámetros de entrada como de salida.
DataTypeName String El nombre del tipo de datos.
DataType Int32 Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente.
Length Int32 El número de caracteres permitidos para los datos de caracteres. El número de dígitos permitidos para datos numéricos.
NumericPrecision Int32 La máxima precisión para datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora.
NumericScale Int32 El número de dígitos a la derecha del punto decimal en datos numéricos.
IsNullable Boolean Si el parámetro puede contener nulo.
IsRequired Boolean Si el parámetro es necesario para la ejecución del procedimiento.
IsArray Boolean Si el parámetro es una matriz.
Description String La descripción del parámetro.
Ordinal Int32 El índice del parámetro.

Sys_keycolumns

Describe las claves primarias y foráneas. La siguiente consultar recupera la clave principal de la tabla Películas:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Movies'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la clave.
SchemaName String El nombre del esquema que contiene la clave.
TableName String El nombre de la tabla que contiene la clave.
ColumnName String El nombre de la columna clave.
IsKey Boolean Si la columna es una clave principal en la tabla a la que se hace referencia en el campo TableName.
IsForeignKey Boolean Si la columna es una clave externa a la que se hace referencia en el campo TableName.
PrimaryKeyName String El nombre de la clave principal.
ForeignKeyName String El nombre de la clave foránea.
ReferencedCatalogName String La base de datos que contiene la clave principal.
ReferencedSchemaName String El esquema que contiene la clave principal.
ReferencedTableName String La tabla que contiene la clave principal.
ReferencedColumnName String El nombre de la columna de la clave principal.

Sys_foreignkeys

Describe las claves foráneas. La siguiente consultar recupera todas las claves foráneas que hacen referencia a otras tablas:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la clave.
SchemaName String El nombre del esquema que contiene la clave.
TableName String El nombre de la tabla que contiene la clave.
ColumnName String El nombre de la columna clave.
PrimaryKeyName String El nombre de la clave principal.
ForeignKeyName String El nombre de la clave foránea.
ReferencedCatalogName String La base de datos que contiene la clave principal.
ReferencedSchemaName String El esquema que contiene la clave principal.
ReferencedTableName String La tabla que contiene la clave principal.
ReferencedColumnName String El nombre de la columna de la clave principal.
ForeignKeyType String Designa si la clave externa es una clave de importación (apunta a otras tablas) o de exportación (hace referencia desde otras tablas).

Sys_indexes

Describe los índices disponibles. Al filtrar en los índices, puede escribir consultas más selectivas con tiempos de respuesta de consultar más rápidos.

La siguiente consultar recupera todos los índices que no son claves principales:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene el índice.
SchemaName String El nombre del esquema que contiene el índice.
TableName String El nombre de la tabla que contiene el índice.
IndexName String El nombre del índice.
ColumnName String El nombre de la columna asociada con el índice.
IsUnique Boolean True si el índice es único. Falso en caso contrario.
IsPrimary Boolean True si el índice es una clave principal. Falso en caso contrario.
Type Int16 Un valor entero correspondiente al tipo de índice: estadística (0), agrupado (1), hash (2) u otro (3).
SortOrder String El orden de clasificación: A para ascender o D para descender.
OrdinalPosition Int16 El número de secuencia de la columna en el índice.

Sys_connection_props

Devuelve información sobre las propiedades de conexión disponibles y las establecidas en la cadena de conexión.

Al consultar esta tabla, se debe usar la cadena de conexión de configuración:

jdbc:cdata:cloudant:config:

Esta cadena de conexión le permite consultar esta tabla sin una conexión válida.

La siguiente consultar recupera todas las propiedades de conexión que se han establecido en la cadena de conexión o se han establecido a través de un valor predeterminado:

SELECT * FROM sys_connection_props WHERE Value <> ''
Columnas
Nombre Tipo Descripción
Name String El nombre de la propiedad de conexión.
ShortDescription String Una breve descripción.
Type String El tipo de datos de la propiedad de conexión.
Default String El valor predeterminado si no se establece uno explícitamente.
Values String Una lista separada por comas de valores posibles. Se lanza un error de validación si se especifica otro valor.
Value String El valor que establezca o un valor predeterminado preconfigurado.
Required Boolean Si la propiedad es necesaria para conectarse.
Category String La categoría de la propiedad de conexión.
IsSessionProperty String Si la propiedad es una propiedad de sesión, utilizada para guardar información sobre la conexión actual.
Sensitivity String El nivel de sensibilidad de la propiedad. Esto informa si la propiedad está ofuscada en los formularios de registro y autenticación.
PropertyName String Una forma truncada en mayúsculas y minúsculas del nombre de la propiedad de conexión.
Ordinal Int32 El índice del parámetro.
CatOrdinal Int32 El índice de la categoría de parámetro.
Hierarchy String Muestra las propiedades dependientes asociadas que deben configurarse junto con esta.
Visible Boolean Informa si la propiedad está visible en la interfaz de usuario de la conexión.
ETC String Diversa información miscelánea sobre la propiedad.

Sys_sqlinfo

Describe el procesamiento de consultar SELECT que el conector puede descargar al origen de datos.

Procesamiento Colaborativo de Consultas

Al trabajar con fuentes de datos que no admiten SQL-92, puede consultar la vista sys_sqlinfo para determinar las capacidades de consultar de las APIs subyacentes, expresadas en sintaxis SQL. El conector descarga la mayor cantidad posible del procesamiento de sentencias SELECT al servidor y luego procesa el resto de la consultar en la memoria.

Descubrimiento de las Capacidades SELECT de la Fuente de Datos

A continuación se muestra un conjunto de datos de ejemplo de las capacidades de SQL. El siguiente conjunto de resultados indica la funcionalidad SELECT que el conector puede descargar en el origen de datos o en el lado del cliente del proceso. Su fuente de datos puede admitir sintaxis SQL adicional. Algunos aspectos de la funcionalidad SELECT se devuelven en una lista separada por comas si es compatible; de lo contrario, la columna contiene NO.

Nombre Descripción Valores posibles
AGGREGATE_FUNCTIONS Funciones de agregación admitidas. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Si se admite la función COUNT. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR El carácter de apertura utilizado para escapar de un identificador. [
IDENTIFIER_QUOTE_CLOSE_CHAR El carácter de cierre utilizado para escapar de un identificador. ]
SUPPORTED_OPERATORS Una lista de operadores de SQL admitidos. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Si se admite GROUP BY y, de ser así, el grado de compatibilidad. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Funciones de cadena admitidas. LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONS Funciones numéricas compatibles. ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONS Funciones de fecha/hora admitidas. NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLES Indica tablas omitidas durante la replicación.
REPLICATION_TIMECHECK_COLUMNS Una matriz de cadenas que contiene una lista de columnas que se usarán para verificar (en el orden dado) para usar como una columna modificada durante la replicación.
IDENTIFIER_PATTERN Valor de cadena que indica qué cadena es válida para un identificador.
SUPPORT_TRANSACTION Indica si el proveedor admite transacciones como compromiso y reversión. YES, NO
DIALECT Indica el dialecto SQL a usar.
KEY_PROPERTIES Indica las propiedades que identifican la base de datos uniforme.
SUPPORTS_MULTIPLE_SCHEMAS Indica si pueden existir varios esquemas para el proveedor. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Indica si pueden existir varios catálogos para el proveedor. YES, NO
DATASYNCVERSION La versión de sincronización de datos necesaria para acceder a este controlador. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY La categoría Sincronización de datos de este controlador. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Si se admite la funcionalidad de SQL mejorada más allá de lo que ofrece la API. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Si se admiten las operaciones lote. YES, NO
SQL_CAP Todas las funciones de SQL admitidas para este controlador. SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS Un valor de cadena especifica las cacheOptions preferidas.
ENABLE_EF_ADVANCED_QUERY Indica si el controlador admite directamente consultas avanzadas provenientes de Entity Framework. De lo contrario, las consultas se manejarán del lado del cliente. YES, NO
PSEUDO_COLUMNS Una matriz de cadenas que indica las pseudocolumnas disponibles.
MERGE_ALWAYS Si el valor es verdadero, el modo de combinación se ejecuta a la fuerza en la sincronización de datos. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY Una consultar de selección para devolver la fecha y hora de inicio de la réplica.
REPLICATION_MIN_FUNCTION Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un min del lado del servidor.
REPLICATION_START_DATE Permite que un proveedor especifique una fecha de inicio de réplica.
REPLICATION_MAX_DATE_QUERY Una consultar de selección para devolver la fecha y hora de finalización de la réplica.
REPLICATION_MAX_FUNCTION Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un máx. del lado del servidor.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE Una lista de tablas que omitirán dividir la réplica en fragmentos en la réplica inicial.
CHECKCACHE_USE_PARENTID Indica si la instrucción CheckCache debe realizarse en la columna de clave principal. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Indica procedimientos almacenados* que se puede utilizar para generar archivos de esquema.

La siguiente consultar recupera los operadores que se pueden usar en la cláusula WHERE:

SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'

Tenga en cuenta que las tablas individuales pueden tener diferentes limitaciones o requisitos en la cláusula WHERE; consulte la Base de datos NoSQL para obtener más información.

Columnas
Nombre Tipo Descripción
NAME String Un componente de la sintaxis SQL o una capacidad que se puede procesar en el servidor.
VALUE String Detalles sobre el SQL o la sintaxis de SQL admitidos.

Sys_identidad

Devuelve información sobre los intentos de modificación.

La siguiente consultar recupera los Id. de las filas modificadas en una operación lote:

SELECT * FROM sys_identity
Columnas
Nombre Tipo Descripción
Id String El ID generado por la base de datos devuelto de una operación de modificación de datos.
Batch String Un identificador para el lote. 1 para una sola operación.
Operation String El resultado de la operación en el lote: INSERTADO, ACTUALIZADO o ELIMINADO.
Message String ÉXITO o un mensaje de error si falla la actualización en el lote.

Procedimientos Almacenados

Procedimientos almacenados* están disponibles para complementar los datos disponibles de la Base de datos NoSQL. Puede ser necesario actualizar los datos disponibles desde una vista usando un procedimiento almacenado* porque los datos no proporcionan actualizaciones bidireccionales directas, similares a tablas. En estas situaciones, la recuperación de los datos se realiza utilizando la vista o tabla adecuada, mientras que la actualización se realiza llamando a un procedimiento almacenado. Procedimientos almacenados* toman una lista de parámetros y devuelven un conjunto de datos que contiene la colección de tuplas que constituyen la respuesta.

Conector Jitterbit para Procedimientos Almacenados de Cloudant

Nombre Descripción
CreateSchema Crea una definición de esquema de una tabla en Cloudant. Controle el descubrimiento de columnas con FlattenObjects, FlattenArrays, TypeDetectionScheme y RowScanDepth.
GetOAuthAccessToken Obtiene un token de autenticación de IBM Cloud. La propiedad de conexión ApiKey debe especificarse al llamar a este procedimiento almacenado.
RefreshOAuthAccessToken Actualiza el token de acceso de OAuth utilizado para la autenticación con IBM Cloud. La propiedad de conexión ApiKey debe especificarse al llamar a este procedimiento almacenado.

CrearEsquema

Crea una definición de esquema de una tabla en Cloudant. Controle el descubrimiento de columnas con FlattenObjects, FlattenArrays, TypeDetectionScheme y RowScanDepth.

Aporte
Nombre Tipo Obligatorio Descripción
TableName String Cierto El nombre de las mesa.
FileName String Falso La ruta completa del archivo y el nombre del esquema que se va a generar, obligatorio si no se establece la propiedad de conexión de ubicación. Ej: 'C:\Users\User\Desktop\Cloudant\sheet.rsd'
SimplifyNames String Falso Ya sea para generar nombres simples para las columnas o no. El valor predeterminado es simplificar.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
Result String Si el esquema se descargó correctamente o no.

Obtener Token de Acceso de OAuth

Obtiene un token de autenticación de IBM Cloud. La propiedad de conexión ApiKey debe especificarse al llamar a este procedimiento almacenado.

Columnas del Conjunto de Resultados
Nombre Tipo Descripción
OAuthAccessToken String El token de acceso utilizado para la comunicación con IBM Cloud.
OAuthRefreshToken String El token de actualización de OAuth. Es lo mismo que el token de acceso en el caso de IBM Cloud.
ExpiresIn String El tiempo de vida restante en el token de acceso. Un -1 indica que no caducará.

RefreshOAuthAccessToken

Actualiza el token de acceso de OAuth utilizado para la autenticación con IBM Cloud. La propiedad de conexión ApiKey debe especificarse al llamar a este procedimiento almacenado.

Aporte
Nombre Tipo Obligatorio Descripción
OAuthRefreshToken String Cierto El token de actualización devuelto del intercambio de código de autorización original.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
OAuthAccessToken String El token de autenticación devuelto por IBM Cloud. Esto se puede usar en llamadas posteriores a otras operaciones para este servicio en particular.
OAuthRefreshToken String Un token que puede usarse para obtener un nuevo token de acceso.
ExpiresIn String El tiempo de vida restante en el token de acceso.

Características Avanzadas

Esta sección detalla una selección de funciones avanzadas del conector Cloudant.

Vistas definidas por el usuario

El conector le permite definir tablas virtuales, llamadas vistas definidas por el usuario, cuyo contenido se decide mediante una consultar preconfigurada. Estas vistas son útiles cuando no puede controlar directamente las consultas que se envían a los controladores. Consulte Vistas definidas por el usuario para obtener una descripción general de la creación y configuración de vistas personalizadas.

Configuración SSL

Usar Configuración SSL para ajustar cómo el conector maneja las negociaciones de certificados TLS/SSL. Puede elegir entre varios formatos de certificado; ver el SSLServerCert propiedad en "Opciones de cadena de conexión" para obtener más información.

Apoderado

Para configurar el conector mediante Configuración de proxy de Agente Privado, Selecciona el Use Proxy Settings casilla de verificación en la pantalla de configuración de la conexión.

Vistas Definidas por el Usuario

Jitterbit Connector for Cloudant le permite definir una tabla virtual cuyos contenidos se deciden mediante una consultar preconfigurada. Estas se denominan Vistas definidas por el usuario, que son útiles en situaciones en las que no puede controlar directamente la consultar que se envía al controlador, por ejemplo, cuando se utiliza el controlador de Jitterbit. Las vistas definidas por el usuario se pueden utilizar para definir predicados que siempre se aplican. Si especifica predicados adicionales en la consultar a la vista, se combinan con la consultar ya definida como parte de la vista.

Hay dos formas de crear vistas definidas por el usuario:

  • Cree un archivo de configuración con formato JSON que defina las vistas que desea.
  • Declaraciones DDL.

Definición de Vistas Utilizando un Archivo de Configuración

Las vistas definidas por el usuario se definen en un archivo de configuración con formato JSON llamado UserDefinedViews.json. El conector detecta automáticamente las vistas especificadas en este archivo.

También puede tener múltiples definiciones de vista y controlarlas usando UserDefinedViews propiedad de conexión. Cuando utiliza esta propiedad, el conector solo ve las vistas especificadas.

Este archivo de configuración de vista definida por el usuario tiene el siguiente formato:

  • Cada elemento raíz define el nombre de una vista.
  • Cada elemento raíz contiene un elemento hijo, llamado query, que contiene la consultar SQL personalizada para la vista.

Por ejemplo:

{
    "MyView": {
        "query": "SELECT * FROM Movies WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Utilizar el UserDefinedViews propiedad de conexión para especificar la ubicación de su archivo de configuración JSON. Por ejemplo:

"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"

Esquema para Vistas Definidas por el Usuario

Las vistas definidas por el usuario se exponen en UserViews esquema por defecto. Esto se hace para evitar que el nombre de la vista entre en conflicto con una entidad real en el modelo de datos. Puede cambiar el nombre del esquema utilizado para UserViews configurando UserViewsSchemaName propiedad.

Trabajar con Vistas Definidas por el Usuario

Por ejemplo, una instrucción SQL con una vista definida por el usuario llamada UserViews.RCustomers solo enumera clientes en Raleigh:

SELECT * FROM Customers WHERE City = 'Raleigh';

Un ejemplo de una consultar al controlador:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Dando como resultado la consultar efectiva a la fuente:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

Ese es un ejemplo muy simple de una consultar a una vista definida por el usuario que es efectivamente una combinación de la consultar de vista y la definición de vista. Es posible componer estas consultas en patrones mucho más complejos. Todas las operaciones de SQL están permitidas en ambas consultas y se combinan cuando corresponde.

Configuración SSL

Personalización de la Configuración SSL

De forma predeterminada, el conector intenta negociar SSL/TLS comparando el certificado del servidor con el almacén de certificados de confianza del sistema.

Para especificar otro certificado, consulte SSLServerCert propiedad de los formatos disponibles para hacerlo.

Propiedades de Configuraciones Avanzadas

Las propiedades de configuraciones avanzadas son las diversas opciones que se pueden utilizar para establecer una conexión. Esta sección proporciona una lista completa de las opciones que puede configurar. Haga clic en los enlaces para obtener más detalles.

Autenticación

Propiedad Descripción
AuthScheme El tipo de autenticación que se utilizará al conectarse a Cloudant.
URL La URL utilizada para conectarse a Cloudant.
User La cuenta de usuario de Cloudant utilizada para la autenticación.
Password La contraseña utilizada para autenticar al usuario.
ApiKey La clave de API utilizada para identificar al usuario en IBM Cloud.

OAuth

Propiedad Descripción
InitiateOAuth Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.
OAuthRefreshToken El token de actualización de OAuth para el token de acceso de OAuth correspondiente.
OAuthExpiresIn La vida útil en segundos del AccessToken de OAuth.
OAuthTokenTimestamp La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual.

SSL

Propiedad Descripción
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

Esquema

Propiedad Descripción
Location Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
BrowsableSchemas Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC.
Views Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC.
ListViews Ya sea para enumerar las vistas de Cloudant o no.

Misceláneas

Propiedad Descripción
FlattenArrays Establezca FlattenArrays en la cantidad de elementos de matriz para aplanar en columnas. De lo contrario, las matrices se devuelven como cadenas JSON.
FlattenObjects Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos incrustados como cadenas JSON sin procesar.
FlexibleSchema Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.
MaxRows Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
Pagesize El número máximo de resultados a devolver por página de Cloudant.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
RowScanDepth El número máximo de filas para escanear para buscar las columnas disponibles en una tabla.
SeparatorCharacter El carácter o caracteres utilizados para denotar jerarquía.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
TypeDetectionScheme Opción de cómo el proveedor escaneará los datos para determinar los campos y tipos de datos en cada colección de documentos.

Autenticación

Esta sección proporciona una lista completa de las propiedades de autenticación que puede configurar.

Propiedad Descripción
AuthScheme El tipo de autenticación que se utilizará al conectarse a Cloudant.
URL La URL utilizada para conectarse a Cloudant.
User La cuenta de usuario de Cloudant utilizada para la autenticación.
Password La contraseña utilizada para autenticar al usuario.
ApiKey La clave de API utilizada para identificar al usuario en IBM Cloud.

AuthScheme

El tipo de autenticación que se utilizará al conectarse a Cloudant.

Valores Posibles

Auto, Basic, OAuth

Tipo de Datos

string

Valor por Defecto

"Auto"

Observaciones
  • Automático: permite que el controlador decida automáticamente según las otras propiedades de conexión que haya establecido.
  • Básico: configure esto para usar la autenticación de usuario/contraseña BÁSICA.
  • OAuth: configure esto para realizar la autenticación OAuth. Para este método, necesitará la APIKey y la URL de la instancia de Cloudant.

URL

La URL utilizada para conectarse a Cloudant.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL HTTP o HTTPS utilizada para conectarse a Cloudant en el formato https://{instance id}-bluemix.cloudantnosqldb.appdomain.cloud o en el caso de un servidor de alojamiento propio http[s]://{servidor}:{puerto}

Usuario

La cuenta de usuario de Cloudant utilizada para la autenticación.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Junto con Contraseña, este campo se utiliza para autenticarse en el servidor Cloudant.

Contraseña

La contraseña utilizada para autenticar al usuario.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El usuario y Password se usan juntos para autenticarse con el servidor.

Clave API

La clave de API utilizada para identificar al usuario en IBM Cloud.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El acceso a los recursos en la API REST de Cloudant se rige por una clave de API para recuperar el token. Una clave de API creada al navegar a Administrar --> Acceso (IAM) --> Usuarios y haciendo clic en 'Crear'.

OAuth

Esta sección proporciona una lista completa de las propiedades de OAuth que puede configurar.

Propiedad Descripción
InitiateOAuth Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.
OAuthRefreshToken El token de actualización de OAuth para el token de acceso de OAuth correspondiente.
OAuthExpiresIn La vida útil en segundos del AccessToken de OAuth.
OAuthTokenTimestamp La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual.

Iniciar OAuth

Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.

Valores Posibles

OFF, GETANDREFRESH, REFRESH

Tipo de Datos

string

Valor por Defecto

"OFF"

Observaciones

Las siguientes opciones están disponibles:

  1. OFF: Indica que el flujo de OAuth será manejado en su totalidad por el usuario. Se requerirá un OAuthAccessToken para la autenticación.
  2. GETANDREFRESH: indica que el conector manejará todo el flujo de OAuth. Si actualmente no existe ningún token, se obtendrá solicitándolo al usuario a través del navegador. Si existe un token, se actualizará cuando corresponda.
  3. REFRESH: indica que el conector solo manejará la actualización de OAuthAccessToken. El conector nunca le pedirá al usuario que se autentique a través del navegador. El usuario debe manejar la obtención de OAuthAccessToken y OAuthRefreshToken inicialmente.

OAuthRefreshToken

El token de actualización de OAuth para el token de acceso de OAuth correspondiente.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El OAuthRefreshToken la propiedad se usa para actualizar el OAuthAccessToken al usar la autenticación OAuth.

OAuthExpiresIn

La vida útil en segundos del AccessToken de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Empareje con OAuthTokenTimestamp para determinar cuándo caducará el AccessToken.

OAuthTokenTimestamp

La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Emparéjese con OAuthExpiresIn para determinar cuándo expirará AccessToken.

SSL

Esta sección proporciona una lista completa de las propiedades SSL que puede configurar.

Propiedad Descripción
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

SSLServerCert

El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Si usa una conexión TLS/SSL, esta propiedad se puede usar para especificar el certificado TLS/SSL que se aceptará del servidor. Se rechaza cualquier otro certificado que no sea de confianza para la máquina.

Esta propiedad puede tomar las siguientes formas:

Descripción Ejemplo
Un certificado PEM completo (ejemplo abreviado por brevedad) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
Una ruta a un archivo local que contiene el certificado C:\cert.cer
La clave pública (ejemplo abreviado por brevedad) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
La huella digital MD5 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) ecadbdda5a1529c58a1e9e09828d70e4
La huella digital SHA1 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Si no se especifica, se acepta cualquier certificado en el que confíe la máquina.

La máquina valida los certificados como confiables según el almacén de confianza del sistema. El almacén de confianza utilizado es el valor 'javax.net.ssl.trustStore' especificado para el sistema. Si no se especifica ningún valor para esta propiedad, se utiliza el almacén de confianza predeterminado de Java (por ejemplo, JAVA_HOME\lib\security\cacerts).

Use '*' para indicar que acepta todos los certificados. Tenga en cuenta que esto no se recomienda debido a problemas de seguridad.

Esquema

Esta sección proporciona una lista completa de propiedades de esquema que puede configurar.

Propiedad Descripción
Location Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
BrowsableSchemas Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC.
Views Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC.
ListViews Ya sea para enumerar las vistas de Cloudant o no.

Ubicación

Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.

Tipo de Datos

string

Valor por Defecto

"%APPDATA%\\\Cloudant Data Provider\\Schema"

Observaciones

La ruta a un directorio que contiene los archivos de esquema para el conector (archivos .rsd para tablas y vistas, archivos .rsb para procedimientos almacenados). La ubicación de la carpeta puede ser una ruta relativa desde la ubicación del ejecutable. El Location La propiedad solo es necesaria si desea personalizar las definiciones (por ejemplo, cambiar el nombre de una columna, ignorar una columna, etc.) o ampliar el modelo de datos con nuevas tablas, vistas o procedimientos almacenados.

Si no se especifica, la ubicación predeterminada es "%APPDATA%\\Cloudant Data Provider\Schema" con %APPDATA% estando configurado en el directorio de configuración del usuario:

Plataforma %APPDATA%
Windows El valor de la variable de ambiente APPDATA
Mac ~/Biblioteca/Soporte de aplicaciones
Linux ~/.config

Esquemas Navegables

Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Enumerar los esquemas de las bases de datos puede resultar costoso. Proporcionar una lista de esquemas en la cadena de conexión mejora el rendimiento.

Mesas

Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA,TablaB,TablaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Listar las tablas de algunas bases de datos puede resultar costoso. Proporcionar una lista de tablas en la cadena de conexión mejora el rendimiento del conector.

Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.

Especifique las tablas que desea en una lista separada por comas. Cada tabla debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.

Puntos de Vista

Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA,VistaB,VistaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Listar las vistas de algunas bases de datos puede ser costoso. Proporcionar una lista de vistas en la cadena de conexión mejora el rendimiento del conector.

Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.

Especifique las vistas que desee en una lista separada por comas. Cada vista debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.

Vistas de Lista

Ya sea para enumerar las vistas de Cloudant o no.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Establezca esta propiedad en true para que las vistas de Cloudant se muestren al listar tablas.

Misceláneas

Esta sección proporciona una lista completa de propiedades misceláneas que puede configurar.

Propiedad Descripción
FlattenArrays Establezca FlattenArrays en la cantidad de elementos de matriz para aplanar en columnas. De lo contrario, las matrices se devuelven como cadenas JSON.
FlattenObjects Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos incrustados como cadenas JSON sin procesar.
FlexibleSchema Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.
MaxRows Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
Pagesize El número máximo de resultados a devolver por página de Cloudant.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
RowScanDepth El número máximo de filas para escanear para buscar las columnas disponibles en una tabla.
SeparatorCharacter El carácter o caracteres utilizados para denotar jerarquía.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
TypeDetectionScheme Opción de cómo el proveedor escaneará los datos para determinar los campos y tipos de datos en cada colección de documentos.

FlattenArrays

Establezca FlattenArrays en la cantidad de elementos de matriz para aplanar en columnas. De lo contrario, las matrices se devuelven como cadenas JSON.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

De forma predeterminada, las matrices anidadas se devuelven como cadenas de JSON. El FlattenArrays la propiedad se puede usar para aplanar los elementos de matrices anidadas en columnas propias: Establecer FlattenArrays a la cantidad de elementos que desea devolver de las matrices anidadas. El índice de base cero se concatena al nombre de la columna con un punto o el carácter especificado por SeparatorCharacter. Se ignoran otros elementos.

Por ejemplo, puede devolver un número arbitrario de elementos de una matriz de cadenas:

["FLOW-MATIC","LISP","COBOL"]

Cuando FlattenArrays se establece en 1, la matriz anterior se aplana en la siguiente tabla:

Nombre de columna Valor de columna
languages.0 FLOW-MATIC

Configuración FlattenArrays a -1 aplanará todos los elementos de matrices anidadas.

Usando FlattenArrays solo se recomienda para arreglos que se espera que sean cortos. Vea Base de datos NoSQL para conocer otras formas de acceder a matrices anidadas.

FlattenObjects

Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos incrustados como cadenas JSON sin formato.

Tipo de Datos

bool

Valor por Defecto

true

Observaciones

Colocar FlattenObjects a verdadero para aplanar las propiedades del objeto en columnas propias. De lo contrario, los objetos incrustados como cadenas JSON sin formato. El nombre de la propiedad se concatena en el nombre del objeto con un punto o el carácter especificado por SeparatorCharacter.

Por ejemplo, puede aplanar los objetos anidados a continuación en el momento de la conexión:

[
  { "grade": "A", "score": 2 },
  { "grade": "A", "score": 6 },
  { "grade": "A", "score": 10 },
  { "grade": "A", "score": 9 },
  { "grade": "B", "score": 14 }
]

Cuando FlattenObjects se establece en verdadero y FlattenArrays se establece en 1, la matriz anterior se aplana en la siguiente tabla:

Nombre de columna Valor de columna
grades.0.grade un
grades.0.score 2

Esquema Flexible

Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.

Tipo de Datos

bool

Valor por Defecto

true

Observaciones

Colocar FlexibleSchema a verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.

Filas Máximas

Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.

Tipo de Datos

int

Valor por Defecto

-1

Observaciones

Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.

Otro

Estas propiedades ocultas se usan solo en casos de uso específicos.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Las propiedades enumeradas a continuación están disponibles para casos de uso específicos. Los casos de uso y la funcionalidad normales del controlador no deberían requerir estas propiedades.

Especifique varias propiedades en una lista separada por punto y coma.

Integración y Formateo
Propiedad Descripción
DefaultColumnSize Establece la longitud predeterminada de los campos de cadena cuando la fuente de datos no proporciona la longitud de columna en los metadatos. El valor predeterminado es 2000.
ConvertDateTimeToGMT Determina si se convierten los valores de fecha y hora a GMT, en lugar de la hora local de la máquina.
RecordToFile=filename Registra la transferencia de datos del socket subyacente al archivo especificado.

Tamaño de Página

El número máximo de resultados a devolver por página de Cloudant.

Tipo de Datos

int

Valor por Defecto

1000

Observaciones

El Pagesize la propiedad afecta el número máximo de resultados a devolver por página de Cloudant. Establecer un valor más alto puede resultar en un mejor rendimiento a costa de memoria adicional asignada por página consumida.

Pseudocolumnas

Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Esta configuración es particularmente útil en Entity Framework, que no le permite establecer un valor para una pseudocolumna a menos que sea una columna de tabla. El valor de esta configuración de conexión tiene el formato "Tabla1=Columna1, Tabla1=Columna2, Tabla2=Columna3". Puede usar el carácter "*" para incluir todas las tablas y todas las columnas; por ejemplo, "*=*".

FilaExploraciónProfundidad

El número máximo de filas para escanear para buscar las columnas disponibles en una tabla.

Tipo de Datos

int

Valor por Defecto

50

Observaciones

Las columnas de una tabla deben determinarse escaneando las filas de la tabla. Este valor determina el número máximo de filas que se escanearán.

Establecer un valor alto puede disminuir el rendimiento. Establecer un valor bajo puede evitar que el tipo de datos se determine correctamente, especialmente cuando hay datos nulos.

SeparadorCarácter

El carácter o caracteres utilizados para denotar jerarquía.

Tipo de Datos

string

Valor por Defecto

"."

Observaciones

Para aplanar las estructuras jerárquicas, el conector necesita algún especificador que indique la ruta a una columna a través de la jerarquía. Si este valor es "." y vuelve una columna con el nombre dirección.ciudad, esto indica que hay un atributo mapeado con un hijo llamado ciudad. Si sus datos tienen columnas que ya usan un solo punto dentro del nombre del atributo, establezca SeparatorCharacter a un personaje o personajes diferentes.

Se Acabó el Tiempo

El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.

Tipo de Datos

int

Valor por Defecto

60

Observaciones

Si Timeout = 0, las operaciones no expiran. Las operaciones se ejecutan hasta que se completan correctamente o hasta que encuentran una condición de error.

Si Timeout caduca y la operación aún no se ha completado, el conector genera una excepción.

TipoDetecciónEsquema

Opción de cómo el proveedor escaneará los datos para determinar los campos y tipos de datos en cada colección de documentos.

Tipo de Datos

string

Valor por Defecto

"RowScan"

Observaciones

Dado que Cloudant no tiene esquema, las columnas de una tabla deben determinarse escaneando las filas de la tabla. Colocar TypeDetectionScheme para alternar el descubrimiento automático de tipos de datos. Establecer RowScan Depth para configurar la detección de tipos.

Propiedad Descripción
None Configuración TypeDetectionScheme a Ninguno devolverá todas las columnas como un tipo de cadena.
RowScan Configuración TypeDetectionScheme to RowScan escaneará filas para determinar heurísticamente el tipo de datos. El RowScanDepth determina el número de filas que se escanearán.
Ver También

La detección de tipos es parte de Descubrimiento automático de esquemas. Establecer FlattenArrays y AplanarObjetos para configurar cómo el conector proyecta columnas sobre los datos jerárquicos.

Puede ajustar las columnas descubiertas y los tipos de datos llamando a CreateSchema para generar un archivo de esquema. Los archivos de esquema tienen un formato simple que facilita cambiar el comportamiento de las columnas.