new Connection(host [, dbName])
Classe que permite estabelecer uma comunicação com um Engine servidor.
Opcionalmente, este construtor permite que seja informado o nome de uma base de dados como segundo parâmetro. Essa opção é mantida apenas para fins de compatibilidade e, quando informada, permite que sejam utilizados métodos descontinuados associados à base de dados.
Importante: alguns métodos descontinuados desta classe permitem acesso ao cache local. Esses
métodos estão disponíveis apenas na instância publicada por meio do módulo
module:@nginstack/engine/context/connection e da variável global connection
.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
host |
string | Database | Endereço IP ou nome do computador remoto. Também poderá ser informada uma instância de Database. Essa opção é útil para interagir com APIs que ainda utilizam a classe Connection para acessar a base de dados. |
|
dbName |
string |
<optional> |
Nome da base de dados que será conectada. Caso não seja informado, os método relacionados à base de dados não estarão disponíveis. Este parâmetro é mantido apenas para fins de compatibilidade. Para acessar informações relacionadas à base de dados, utilize a classe Database. |
Members
-
dbName :string
-
Nome do Banco de Dados configurado na Conexão.
Type:
- string
- Deprecated:
- See:
Example
var connection = require('@nginstack/engine/context/connection'); if (connection.dbName === "DB_NAME") { throw new Error("Usuário possui permissão para consultar os Dados na Produção") }
-
dbServerHost :string
-
IP ou Nome do Host para o servidor de banco de dados da Conexão.
Type:
- string
- Deprecated:
- See:
Example
var connection = require('@nginstack/engine/context/connection'); if (! connection.isOnline ) { throw new Error("Não foi possível Conectar ao Host \"" + connection.dbServerHost + ":" + connection.dbServerPort ) }
-
dbServerPort :string
-
Porta do Host para o Servidor de Banco de Dados da Conexão.
Type:
- string
- Deprecated:
- See:
Example
var connection = require('@nginstack/engine/context/connection'); if (!connection.isOnline) { throw new Error("Não foi possível Conectar ao Host \"" + connection.dbServerHost + ":" + connection.dbServerPort ) }
-
dbType :string
-
Tipo de Banco de Dados configurado na Conexão.
Type:
- string
- Deprecated:
- See:
Example
var connection = require('@nginstack/engine/context/connection'); if (connection.dbType === 'ORACLE') { do(); }
-
enabled :boolean
-
Informa se a comunicação com o banco de dados está habilitada.
Type:
- boolean
-
isOnline :boolean
-
Informa se a conexão está ativa (online) com o Engine destino desta conexão. O estado de online é atualizado apenas quando há uma tentativa de conexão, portanto mesmo em uma conexão ativa não há garantia que a próxima requisição será bem sucedida.
Importante: a conexão com o Engine servidor pode estar ativa, mas o banco de dados pode estar indisponível. Essa propriedade se refere apenas à conectividade do Engine.
Type:
- boolean
-
protocol :string
-
Protocolo utilizado na comunicação com o Engine servidor. Valores possíveis: 'http:' e 'https:'.
Type:
- string
-
readTimeout :number
-
Informa o timeout de leitura da conexão, em milissegundos. Informe o valor zero para utilizar o timeout padrão.
Type:
- number
Example
var connection = require('@nginstack/engine/context/connection'); connection.readTimeout = 15000 try { var ds = connection.getDataSet( 'Select * From iVFS Where iKey = 1234') } finally { connection.readTimeout = 0 }
-
referrer :string
-
Informação enviada ao servidor para que o mesmo possa identificar nas estatísticas qual processo originou a requisição. Ela é automaticamente preenchida pelo sistema e normalmente não deve ser utilizada pelo desenvolvedor.
Type:
- string
- Deprecated:
Example
const Connection = require('@nginstack/engine/lib/connection/Connection'); const conn = new Connection(host, dbName); conn.referrer = 'Processo de sincronismo de dados';
-
remainingHighKeys :number
-
Type:
- number
- Deprecated:
-
- Yes
-
remainingKeys :number
-
Informa o número de chaves ainda restantes no cache local.
Type:
- number
-
remoteInstanceId :string
-
Id que identifica de forma única o Engine remoto conectado.
Ao acessar esta propriedade, será realizada uma requisição para o Engine servidor para obter o seu id.
Type:
- string
-
serverDate :Date
-
Data e hora local do servidor do banco de dados.
O valor será obtido do cache local caso a conexão seja com banco de dados principal. Em conexões para outras bases de dados, o valor será obtido por meio de uma requisição ao servidor remoto.
Type:
- Date
- Deprecated:
Example
const connection = require('@nginstack/engine/context/connection'); const toFormattedString = require('@nginstack/engine/lib/string/toFormattedString') const dt = connection.serverDate; Logger.getLogger('package.MyClass').info("Registro Gravado no Servidor em " + toFormattedString(dt, 'dd/mm/yyyy') + " às " + toFormattedString(dt, 'hh:mm:ss'));
-
serverVersion :string
-
Versão do Engine acessado por esta conexão.
Importante: o valor desta propriedade é obtido por meio de uma requisição ao servidor para obter a versão do executável Engine. Para obter a versão do Engine corrente, utilize
engine.version
.Type:
- string
Example
const connection = require('@nginstack/engine/context/connection.js'); log.info('Server version: ' + connection.serverVersion);
-
trackingId :string
-
Esta é uma propriedade que, se definida, será utilizada pelo applyUpdates e pelo executeDDL para preencher o campo iTag da iLog. Com isso, é possível agrupar os registros na iLog por tag, facilitando o desfazimento.
Recomenda-se que a string utilizada nesta propriedade seja um identificador único. Para isto, utilize a função
createGUID(removeFormatChars)
.Type:
- string
- Deprecated:
-
userKey :number
-
Chave do usuário logado na conexão. Retorna -1 caso não exista usuário logado.
Type:
- number
- Deprecated:
- See:
-
userName :number
-
Nome do usuário logado na sessão.
Type:
- number
- Deprecated:
- See:
-
- #userKey
- Session#userKey
-
workloadType :string
-
Indica para o banco de dados qual é o tipo de carga da aplicação que está requisitando os dados. Valores possíveis:
- 'olap' (Online analytical processing): indicado para relatórios ou processos de consulta. Normalmente, interagem com uma massa de dados média ou elevada. Prioridade de atendimento média.
- 'oltp' (Online transaction processing): indicado para processos que realizam a leitura ou gravação de poucos registros. Prioridade de atendimento alta.
- 'dw' (Data Warehouse): indicado para processos que consolidam grandes massas de dados para pesquisas posteriores. Prioridade de atendimento baixa.
O valor padrão desta propriedade é "olap" e os processos que necessitem alterar a conexão padrão (variável global
connection
) devem ter o cuidado de retornar o valor anterior após o uso, evitando assim afetar outros códigos que utilizem a a mesma instância global.No banco de dados Oracle, este parâmetro é utilizado para definir o tamanho do buffer para a leitura de registros em bloco, sendo alocada mais memória para as cargas do tipo "olap" e "dw". Seu valor também estará disponível no campo "ACTION" da view "v$session", possibilitando ao DBA otimizar e priorizar o atendimento de acordo com o tipo informado.
Type:
- string
- Deprecated:
-
writeTimeout :number
-
Informa o timeout de escrita da conexão em milissegundos. Informe o valor zero para utilizar o timeout padrão.
Type:
- number
Example
var connection = require('@nginstack/engine/context/connection'); connection.writeTimeout = 1000; try { connection.executeScript(1234, 'parameter', 'teste'); } finally { connection.writeTimeout = 0; }
Methods
-
<static> fromConfig(key)
-
Retorna uma instância de Connection associado ao engine informado.
Observação: a chave informada deve deve ser de um registro da base de dados corrente.
Parameters:
Name Type Description key
DBKey | number Chave do cadastro do Engine. Essa chave deve ser de um registro da classe "/Dados/Sistema/Servidores".
Returns:
Instância de Connection para o Engine informado.
- Type
- Connection
-
addKeyRange(keyRangeStream, password)
-
Adiciona um novo Key Range na base de dados.
Parameters:
Name Type Description keyRangeStream
string Key Range fornecido pela desenvolvedora do Engine.
password
string Novo password que será associado ao Key Range. Guarde esta senha com segurança, pois somente através dele será possível utilizar e criar licenças do Key Range.
- Deprecated:
- See:
-
addLicense(licenseStream, administratorPassword)
-
Adiciona uma nova licença na base de dados.
Parameters:
Name Type Description licenseStream
string Licença em uma sequência de caracteres fornecida por um fornecedor reconhecido pela desenvolvedora do Engine.
administratorPassword
string Senha do usuário administrator. Caso seja o primeiro licenciamento do sistema, a senha do usuário administrator será alterada para o valor informado.
- Deprecated:
- See:
-
applyUpdates(ArrayOfDataSets, insertIntoLogTable)
-
Efetiva as alterações dos datasets nas suas respectivas tabelas.
Parameters:
Name Type Argument Description ArrayOfDataSets
DataSet | Array.<DataSet> DatasSet ou array de datasets que devem ser atualizados.
insertIntoLogTable
boolean <nullable>
Indica se as alterações devem ser incluídas na tabela de log.
- Deprecated:
- See:
-
- DataSet#applyUpdates
Returns:
Versão dos registros alterados. Retornará 0 caso nenhum registro tenha sido alterado.
- Type
- number
-
authenticateUser(userName, password, useLocalCache)
-
Autentica o nome de usuário e senha no banco de dados e retorna a chave dele.
Parameters:
Name Type Argument Description userName
string password
string useLocalCache
boolean <nullable>
Indica se deve usar o cache local para realizar a autenticação da senha. Se for informado true, a autenticação será realizada rapidamente, pois não haverá necessidade de consultar o servidor. Caso contrário, pode haver demora ao se obter os dados do servidor. No entanto, esta última opção permite realizar autenticações sem que o cache local esteja montado.
- Deprecated:
-
- Utilize module:@nginstack/engine/lib/database/Database~Database#authenticateUser ou module:@nginstack/engine/lib/security/Security~Security#authenticateUser, esse último se a autenticação for na base de dados corrente.
Returns:
Retorna -1 caso a autenticação seja inválida.
- Type
- number
-
changeLicensePassword(key, password, newPassword)
-
Altera o password de uma licença.
Parameters:
Name Type Description key
number Licença que terá o password alterado.
password
string Password atual.
newPassword
string Password novo.
- Deprecated:
-
classHierarchicalProperty(classNameOrKey, propertyName)
-
Pega uma propriedade de uma classe de forma hierárquica.
Parameters:
Name Type Description classNameOrKey
number | string Nome ou chave da classe de onde se quer a propriedade.
propertyName
string Nome da propriedade.
- Deprecated:
- See:
Returns:
Objeto com as definições da classe.
- Type
- Object
-
cloneLocalCache(tableName)
-
Clona uma tabela do cache local. Caso seja usado o método "applyUpdates" em num DataSet proveniente do cache local, todas as alterações serão refletidas na tabela a ele associada.
Parameters:
Name Type Description tableName
string Nome da tabela do cache local a ser clonada.
- Deprecated:
- See:
-
- #cloneLocalCacheByClass
- DataSet
- DataSet#logChanges
- DataSet#tableName
- DataSet#applyUpdates
Returns:
- Type
- DataSet
-
cloneLocalCacheByClass(classKey [, userKeyPermissionViewFilter] [, securityExtraFilter])
-
Clona uma classe do cache local. Caso seja usado o método "applyUpdates" em um dataset proveniente do cache local, todas as alterações serão refletidas na tabela a ele associada. Bastando para isso que ela possua os campos CHAVE, CLASSE e VERSÃO.
Parameters:
Name Type Argument Description classKey
number Nome da classe do sistema a ser clonada.
userKeyPermissionViewFilter
number <optional>
securityExtraFilter
Array <optional>
- Deprecated:
- See:
Returns:
- Type
- DataSet
-
cloneVfsByClass(classKey, userKeyPermissionViewFilter, securityExtraFilter)
-
Parameters:
Name Type Description classKey
Object userKeyPermissionViewFilter
Object securityExtraFilter
Object - Deprecated:
-
- Utilize module:@nginstack/engine/lib/dataset/DataSet~DataSet#setView para configurar um filtro de classes em um DataSet da tabela iVFS.
- See:
Returns:
- Type
- DataSet
-
copyStructureLocalCache(tableName)
-
Copia a estrutura de uma tabela do cache local. Todas as definições de campos, índices, etc. Caso seja usado o método "applyUpdates" em num dataset proveniente do cache local, todas as alterações serão refletidas na tabela a ele associada. Bastando para isso que ela possua os campos CHAVE, CLASSE e VERSÃO.
Parameters:
Name Type Description tableName
string - Deprecated:
- See:
-
createKey( [keysQuantity] [, getHighKeys])
-
- Ao se usar o parâmetro "keysQuantity", o servidor não retorna o número de chaves solicitadas, mas sim reserva. Após a solicitação, deve-se fazer o incremento de chaves "manualmente", como no exemplo que vimos.
- Recomenda-se solicitar apenas uma chave, ou seja, parâmetro nKeys = 1 (ou simplesmente omitido). Assim, em vez de ir ao servidor buscar a chave, ela será solicitada ao cache de chaves.
Parameters:
Name Type Argument Description keysQuantity
number <optional>
Número de chaves que o servidor deve reservar.
getHighKeys
number <optional>
Indica se deve usar chaves altas.
- Deprecated:
- See:
Returns:
- Type
- number
-
createKeyRange(keyRangeName, quantity [, keyList] [, requiredLicenses] [, key] [, base] [, userName] [, password])
-
Cria um nova faixa de chaves negativas.
Parameters:
Name Type Argument Description keyRangeName
string Nome do produto que será criado com esta faixa de chaves.
quantity
number Quantidade de chaves a serem reservadas no Key Range que será criado.
keyList
string <optional>
Lista de chaves que fazem parte do Key Range, mas não são representadas pela faixa.
requiredLicenses
string <optional>
Licenças requeridas pelo Key Range que será criado.
key
number <optional>
A chave somente deve ser informada se estiver realizando a edição de informações de um key range existente.
base
number <optional>
A base somente deve ser informada se estiver realizando a edição de informações de um key range existente.
userName
string <optional>
password
string <optional>
-
createLicense(keyRangeKey, licenserKey, licenseType, quantity, expiration, licenseeName, licenseeId, userName, password)
-
Cria uma licença de uso. Somente o proprietário de uma licença poderá criar e distribuir licenças de uso.
Parameters:
Name Type Description keyRangeKey
number Chave da licença que será licenciada para um cliente.
licenserKey
number Chave gerada pelo proprietário da licença para controlar a distribuição de licenças para seus clientes.
licenseType
string Tipo da licença que será criada. Os valores possíveis são: "C" (por conexão) ou "P" (por processador).
quantity
number Quantidade de licenças concedidas à empresa licenciada.
expiration
Date Data de expiração da licença.
licenseeName
string Nome da empresa que será licenciada.
licenseeId
string Identificação oficial da empresa licenciada no País ( Ex: CNPJ ).
userName
string password
string Password do proprietário da licença.
- Deprecated:
- See:
-
discardEndpointInfoCache()
-
Descarta o cache de informações das capacidades conhecidas do Engine remoto acessado por meio desta conexão.
Este é um método avançado que em situações normais de uso não deve ser utilizado. Ele deve ser empregado apenas quando for conhecido que um Engine remoto tenha sido atualizado e quando as capacidades da nova versão desse Engine são requeridas imediatamente.
-
executeScript(scriptReference [, parametersNames] [, parametersValues])
-
Executa um script no servidor.
Parameters:
Name Type Argument Description scriptReference
number | string Chave do script da VFS que deve ser executado ou caminho do script da UFS.
parametersNames
Object <optional>
Array contendo o nome do parâmetro e o seu valor ([parameterName, parameterValue]) que pode ser repetido várias vezes.
parametersValues
* <optional>
<repeatable>
- Deprecated:
-
executeSql(sqlExpression)
-
Executa uma expressão SQL no banco de dados associado ao Connection. Utilize o método Connection.getDataSet() caso a expressão SQL retorne dados.
Parameters:
Name Type Description sqlExpression
string | Array.<string> Expressão ou array de expressões SQL que deverão ser executadas.
- Deprecated:
- See:
-
get(className, codeOrKey, fieldName)
-
Obtém o valor de um campo do registro que possui a chave ou o código informado dentro da classe informada.
Parameters:
Name Type Description className
string Nome da classe de onde se deve pegar o campo.
codeOrKey
string Código ou chave do registro do qual se quer pegar o campo.
fieldName
string Nome do campo que se deseja pegar.
- Deprecated:
-
- Utilize module:@nginstack/engine/lib/dbcache/DBCache~DBCache#getFieldValue.
Returns:
Valor do campo com o tipo de acordo com o que foi definido no banco de dados.
- Type
- Object
-
getChangeableLicenses(userKey)
-
Obtém as chaves das licenças que o usuário pode editar.
Parameters:
Name Type Description userKey
number Chave do Usuário
- Deprecated:
Returns:
Chaves de Licenças que o Usuário pode alterar.
- Type
- Array.<number>
-
getChildren(classKey [, userKey] [, permissionFieldName])
-
Traz as chaves das classes filhas da classe informada, bem como a própria classe. Podendo fazer um filtro por usuário.
Parameters:
Name Type Argument Description classKey
number | string Chave ou nome da tabela do cache local a ser clonada.
userKey
number <optional>
Chave do usuário para que seja feito o filtro de visão.
permissionFieldName
string <optional>
Nome do campo onde estão as permissões dos usuários.
- Deprecated:
- See:
Returns:
String com lista de chaves separadas por ponto-e-vírgula.
- Type
- string
-
getClassDefinitionSource(classKey, vfs, classes, ignoredClassKeys)
-
Obtém o código fonte da definição de uma classe de dados.
Parameters:
Name Type Argument Description classKey
DBKey | number Chave da classe do Vfs que deve ser instanciada.
vfs
DataSet <nullable>
classes
DataSet <nullable>
ignoredClassKeys
Array.<number> Array de chaves de x-class que devem ser ignorados.
- Deprecated:
Returns:
- Type
- string
-
getDatabaseNames()
-
Nomes das bases de dados servidas pelo Engine remoto.
O Engine remoto pode ser um servidor de aplicação ou de borda das bases de dados. Se estiver no modo de servidor de borda, os métodos de consulta e gravação na base de dados não estarão disponíveis. Utilize o método module:@nginstack/engine/lib/database/Database~Database#isEdgeServer para determinar se o Engine remoto é um servidor de borda da base de dados.
Importante: por motivos de compatibilidade, este método retorna uma lista separada por ";" em vez de um array de nomes.
Returns:
Lista separada por ";" com os nomes das bases de dados servidas pelo Engine remoto. Os nomes retornados são padronizados em letras maiúsculas a fim de simplificar a comparação de nomes.
- Type
- string
-
getDataSet(sqlOrArrayOfSql [, options])
-
Obtém um ou vários DataSets a partir do resultado de uma ou várias expressão SQL a serem executadas no banco de dados associado ao Connection. Será retornado um DataSet caso seja informada uma string ou um array de DataSets caso seja informado um array de strings. Utilize o método Connection.executeSql() caso a expressão SQL não retorne dados. Apenas expressões que possam retornar dados podem ser executadas neste método.
Parameters:
Name Type Argument Description sqlOrArrayOfSql
string | Array.<string> Expressão ou array de expressões SQL que deverão ser executadas.
options
Object <optional>
Opções da consulta.
Properties
Name Type Argument Description queryCacheLifeTime
number <optional>
Determina o tempo máximo (em segundos) que o DataSet retornado é mantido em cache, e retornado em consultas idênticas
- Deprecated:
- See:
Returns:
-
getExecutionPlan(sqlExpression)
-
Obtém o plano de execução do banco de dados para a expressão SQL informada. O plano de execução é uma informação gerada pelo banco de dados que permite ao desenvolvedor compreender como o query será executado e determinar se a expressão SQL criada possui um bom desempenho. Cada banco de dados possui um modelo de plano de execução e a documentação do mesmo deve ser lida para compreender as informações retornadas. Normalmente, este método não é conveniente para o desenvolvedor, pois a informação retornada no DataSet é extensa e a utilização de DataSets em logs não é simples. É recomendada a utilização dos métodos da classe QueryAnalyzer para obter a informação do plano de execução em um formato mais simples.
Parameters:
Name Type Description sqlExpression
string Expressão SQL da qual deve ser obtido o plano de execução.
- Deprecated:
Returns:
- Type
- DataSet
-
getHierarchicalClass(startClass, endClass [, level] [, opt_separator] [, opt_bringClassesKeys])
-
Devolve a hierarquia de classes.
Parameters:
Name Type Argument Description startClass
number Chave da classe de onde deve iniciar a montagem da hierarquia.
endClass
number Chave da classe onde deve finalizar a montagem da hierarquia.
level
number <optional>
Quantidade de classes que irá pegar a partir da inicial.
opt_separator
string <optional>
String que irá separar as classes. O Valor padrão é "/"
opt_bringClassesKeys
boolean <optional>
Determina se trará as chaves das classes.
- Deprecated:
Returns:
Hierarquia de classes separadas por "/"
- Type
- string
-
getIssuableLicenses(userKey)
-
Obtém as chaves das licenças que o usuário pode licenciar.
Parameters:
Name Type Description userKey
number - Deprecated:
- See:
Returns:
- Type
- Array.<number>
-
getKeyOfClass(className)
-
Parameters:
Name Type Description className
string - Deprecated:
-
- Este método tem um comportamento indeterminado quando há mais de uma classe com o mesmo nome. Prefira pesquisar pelo nome na tabela de Classes e tratar corretamente as possíveis múltiplas ocorrências.
- See:
Returns:
- Type
- number
-
getLicenseFromNegativeRecord(key)
-
Obtém a chave da licença que gerou a chave informada.
Parameters:
Name Type Description key
number Chave negativa que deverá ter a licença determinada.
- Deprecated:
- See:
Returns:
- Type
- number
-
getPermission(classKeyOrVfsKey, permissionFieldName, userKey, getMode, extraFilter)
-
Método utilizado para obter as permissões de um usuário em uma determinada classe ou Script da Virtual File System.
Parameters:
Name Type Argument Description classKeyOrVfsKey
number Chave ou nome da classe da qual deseja-se saber se o usuário tem permissão.
permissionFieldName
string Nome do campo da tabela iPermission que define a permissão a ser obtida.
userKey
number <nullable>
Chave do usuário do qual se deseja descobrir a permissão. Se não for informado, será considerado o usuário logado (session.userKey).
getMode
string <nullable>
Determina como a permissão deve ser obtida. Os valores possíveis são:
"withoutInheritance": Obtém a permissão para a classe informada sem levar em conta as permissões definidas nas classes mães. Este parâmetro não é adequado para utilização com campos do tipo "string" que podem ser multivalorados, recomendamos o uso do parâmetro "distinct".
"first": Obtém a primeira permissão definida para a classe ou uma de suas mães, levando em conta a ordem da classe informada. A ordem considerada no sentido da classe atual até a classe root.
Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.
"max": Obtém o maior valor informado para a classe ou para uma de suas mães. Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.
"min": Obtém o menor valor informado para a classe ou para uma de suas mães. Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.
"distinct": Obtém todos os valores distintos informados para a classe ou para uma de suas mães. Se a permissão informada para uma classe possuir os separadores ";" ou ",", a mesma será dividida e cada elemento será considerado um valor distinto. Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.
Se getMode não for informado, ele será considerado como 'withoutInheritance'.extraFilter
string <nullable>
Filtro extra que traz a possibilidade de filtrar a permissão por um outro campo da tabela de permissões(iPermission). Exemplo: Este exemplo checa se o usuário "37860639 - Teste" tem acesso a classe "43614400 - Contatos" e se o campo "estabeleci" no cadastro de permissões tem o valor "3002932 - Demonstração"
connection.getPermission( 43614400, "iView", 37860639, "withoutInheritance", [['Estabeleci', 3002932]])- Deprecated:
- See:
Returns:
- Type
- *
-
getReferences(key, tableName, maxReturnCount, ignoredTables)
-
Pega todas as referências de uma chave. O DataSet retornado possui os seguintes campos: iKey - Chave do registro que referencia key.
iClass - Classe do registro que referencia key. Este campo é útil para filtrar as ocorrência que podem ser exibidas para um determinado usuário. iTableName - Nome da tabela de qual faz parte o registro que referencia key.
iFieldName - Nome do campo que referencia key.
iFieldLabel - Nome de exibição do campo que referencia key.Parameters:
Name Type Argument Description key
number Chave do registro do qual se deseja obter as referências.
tableName
string Nome da tabela da qual faz parte o registro informado pelo parâmetro key.
maxReturnCount
number <nullable>
Número máximo de referências que devem ser retornadas. É importante que este valor não seja alto, pois getReferences() pode retornar uma quantidade muito elevada de registros.
ignoredTables
Array.<string> <nullable>
- Deprecated:
Returns:
- Type
- DataSet
-
getTimezoneOffset()
-
Obtém a diferença em minutos do fuso horário do servidor acessado por esta conexão e o UTC.
Returns:
- Type
- number
-
getUserGroups(userKey)
-
Obtém os grupos de um usuário ou grupo de usuário levanto em conta a recursividade dos grupos. Um grupo pode fazer parte de outro.
Parameters:
Name Type Description userKey
number Chave do usuário, papel ou grupo de usuário.
- Deprecated:
Returns:
Chaves dos grupos e papéis dos quais o usuário, papel ou grupo faz parte.
- Type
- Array.<number>
Example
// Get groups of user var groups = connection.getUserGroups(session.userKey); response.writeln('User ' + session.userName + ' has permission of groups ' + groups.join(', ') + '.');
-
getVfsContent(vfsScriptKey)
-
Obtém o conteúdo de um arquivo armazenado na Virtual File System. Utilize este método em vez de acessar diretamente a tabela iVfs do cache local, pois o conteúdo poderá não estar disponível caso a classe da Virtual File System esteja configurada para não realizar cache de conteúdo.
Parameters:
Name Type Description vfsScriptKey
number Chave do Script na Virtual File System.
- Deprecated:
Returns:
Conteúdo do Script
- Type
- string
-
insertLog(logType, opt_content, opt_key, opt_classKey)
-
Insere um registro de Log na tabela iLog. Os campos iUser, iDate, iHour e iReferrer serão preenchidos automaticamente pelo sistema.
Parameters:
Name Type Argument Description logType
number Chave do tipo de log que está sendo registrado. Deve ser um registro da classe "/data/system/Auxiliary Tables/Log Type". Será gravado no campo iType.
opt_content
string <nullable>
Conteúdo que será gravado no campo iContent.
opt_key
number <nullable>
Chave do registro ao qual o log faz referência. Será gravado no campo iKey.
opt_classKey
number <nullable>
Chave da classe do registro ao qual o log faz referência. Será gravado no campo iClass.
- Deprecated:
-
instanceClassDefinition(classKeyOrSource [, iVfsOrParentKey] [, iClass])
-
Obtém a definição de uma classe.
Parameters:
Name Type Argument Description classKeyOrSource
number | string iVfsOrParentKey
DataSet | number <optional>
iClass
DataSet <optional>
- Deprecated:
Returns:
- Type
- ModelDef
-
isCachedData(classKey, tableName)
-
Verifica se a tabela faz parte do cache local.
Parameters:
Name Type Description classKey
number Classe que define a tabela. Este parâmetro não é mais utilizado, sendo mantido apenas por compatibilidade de API.
tableName
string Nome da tabela
- Deprecated:
Returns:
True se a tabela fizer parte do cache local
- Type
- boolean
-
isChildOf(key, parent)
-
Verifica se a chave informada é filha ou igual a classe especificada. São verificadas as seguintes situações:
- Se uma classe "key" é filha de "parent";
- Se a classe do registro "key" é filho de "parent";
- Se um registro iVfs "key" é filho de "parent".
Parameters:
Name Type Description key
number Chave da classe ou do registro a qual deseja verificar a hierarquia.
parent
number Chave da classe a qual se deseja verificar se é mãe da chave passado no parâmetro "key".
- Deprecated:
Returns:
- Type
- boolean
- Se uma classe "key" é filha de "parent";
-
isUserInGroup(userKey, groupKey)
-
Verifica se um usuário faz parte de um grupo.
Parameters:
Name Type Description userKey
number Chave do usuário.
groupKey
number Chave do grupo.
- Deprecated:
Returns:
- Type
- boolean
Example
// Is current user an administrator if ( connection.isUserInGroup( session.userKey, -1898186568) ){ // Administrators }
-
login(userName, password)
-
Realiza o login na conexão, permitindo que o usuário tenha acesso às informações do banco de dados. O método Session.login() realiza automaticamente o login da conexão default (connection), portanto, este método somente deve ser utilizado em conexões criadas manualmente.
Parameters:
Name Type Description userName
string password
string - Deprecated:
- See:
Returns:
- Type
- boolean
-
logout()
-
Realiza o logout da conexão, impedindo que a mesma possa acessar informações do banco de dados. O método Session.logout() realiza automaticamente o logout da conexão default (connection), portanto, este método somente deve ser utilizado em conexões criadas manualmente.
- Deprecated:
- See:
-
newTask(task, userName, password)
-
Cria uma nova tarefa no Scheduler do servidor da conexão.
Parameters:
Name Type Argument Description task
Task Instância de Task que contém todas as definições da tarefa a ser executada.
userName
string <nullable>
Nome do usuário que está criando a tarefa. Caso não seja informado, será considerado o usuário logado na sessão corrente.
password
string <nullable>
Senha do usuário que está criando a tarefa.
Example
// Cria a tarefa que deve executar o script de chave 999888 hoje, às 23:00h. var task = new Task(); task.date = new Date(); task.hour = task.date.setHours( 23, 0, 0, 0); task.scriptKey = 999888; connection.newTask(task);
-
refreshLocalCache( [waitDataRefreshing])
-
Este método pode comparado a pressionar CTRL + E no IDE O cache local é atualizado a cada 30 segundos por padrão, mas pode ser configurado via manage do Engine. Atualiza o cache local.
Parameters:
Name Type Argument Description waitDataRefreshing
boolean <optional>
Indica se deve aguardar a atualização do cache local ser concluída.
- Deprecated:
-
- Utilize module:@nginstack/engine/lib/dbcache/DBCache~DBCache#refresh.
-
scheduledSendEmail(email [, maxSize])
-
Agenda o envio do email no servidor.
Importante: este método deve ser evitado, pois eventuais falhas no envio são ignoradas e registradas apenas no log do servidor. O seu uso intenso ou o envio de emails de tamanho elevado também podem prejudicar o funcionamento do "Agendador de scripts" para outras atividades do sistema.
Parameters:
Name Type Argument Description email
Email Instância de Email que contém as definições do email a ser enviado.
maxSize
number <optional>
Limite em bytes do tamanho requerido para armazenar a mensagem no agendador de scripts. Caso não seja informado, será considerado 25MB.
Example
const email = new Email(); email.addRecipient('Nome do destinatário', 'nome@servidor.com.br'); email.subject = 'Assunto'; email.htmlContent = '<html><body><b>Teste de Email</b><br><br></body></html>'; connection.scheduledSendEmail(email);
-
sendEmail(email)
-
Envia um email através da conexão corrente.
Parameters:
Name Type Description email
Email Objeto que contém as definições do email a ser enviado.
- Deprecated:
-
- Utilize o método `Database.prototype.sendEmail`
-
setChangeableLicenses(userKey, licenseKeys, passwords)
-
Informa quais licenças podem ser alteradas pelo usuário.
Parameters:
Name Type Description userKey
number Chave do usuário que será associado ao Partner Key Range.
licenseKeys
Array.<number> Array com as chaves das licenças que podem ser alteradas pelo usuário.
passwords
Array.<string> Array com os passwords da licenças informadas no parâmetro licenseKeys.
-
setIssuableLicenses(userKey, licenseKeys, passwords)
-
Licenças podem ser licenciadas pelo usuário.
Parameters:
Name Type Description userKey
number Chave do usuário que será associado ao Partner Key Range.
licenseKeys
Array Array com as chaves das licenças que podem ser licenciadas pelo usuário.
passwords
Array Array com os passwords da licenças informadas no parâmetro licenseKeys.
- Deprecated:
- See:
-
setPassword(userKey, password)
-
Altera a senha do usuário.
Parameters:
Name Type Description userKey
DBKey | number Chave do usuário que terá a senha alterada.
password
string Nova Senha.
- Deprecated:
-
skipSatSunHoliday(dt, uf, localidade)
-
Verifica se a data passada é um dia útil e, se não for, retorna o próximo dia útil.
Parameters:
Name Type Argument Description dt
Date Data a ser verificada.
uf
number <nullable>
Chave da UF quando deseja-se considerar feriados estaduais.
localidade
number <nullable>
Chave da cidade quando deseja-se considerar feriados municipais.
Returns:
- Type
- Date
-
userCanChangeNegativeRecord(key [, opt_userKey])
-
Determina se o usuário tem permissão de alterar um registro de chave negativa.
Parameters:
Name Type Argument Description key
number Chave do registro.
opt_userKey
number <optional>
Chave do usuário. Caso não seja informado, será considerado o usuário corrente.
- Deprecated:
Returns:
- Type
- boolean