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 keyDBKey | 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 keyRangeStreamstring Key Range fornecido pela desenvolvedora do Engine.
passwordstring 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 licenseStreamstring Licença em uma sequência de caracteres fornecida por um fornecedor reconhecido pela desenvolvedora do Engine.
administratorPasswordstring 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 ArrayOfDataSetsDataSet | Array.<DataSet> DatasSet ou array de datasets que devem ser atualizados.
insertIntoLogTableboolean <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 userNamestring passwordstring useLocalCacheboolean <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 keynumber Licença que terá o password alterado.
passwordstring Password atual.
newPasswordstring Password novo.
- Deprecated:
-
classHierarchicalProperty(classNameOrKey, propertyName)
-
Pega uma propriedade de uma classe de forma hierárquica.
Parameters:
Name Type Description classNameOrKeynumber | string Nome ou chave da classe de onde se quer a propriedade.
propertyNamestring 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 tableNamestring 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 classKeynumber Nome da classe do sistema a ser clonada.
userKeyPermissionViewFilternumber <optional>
securityExtraFilterArray <optional>
- Deprecated:
- See:
Returns:
- Type
- DataSet
-
cloneVfsByClass(classKey, userKeyPermissionViewFilter, securityExtraFilter)
-
Parameters:
Name Type Description classKeyObject userKeyPermissionViewFilterObject securityExtraFilterObject - 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 tableNamestring - 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 keysQuantitynumber <optional>
Número de chaves que o servidor deve reservar.
getHighKeysnumber <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 keyRangeNamestring Nome do produto que será criado com esta faixa de chaves.
quantitynumber Quantidade de chaves a serem reservadas no Key Range que será criado.
keyListstring <optional>
Lista de chaves que fazem parte do Key Range, mas não são representadas pela faixa.
requiredLicensesstring <optional>
Licenças requeridas pelo Key Range que será criado.
keynumber <optional>
A chave somente deve ser informada se estiver realizando a edição de informações de um key range existente.
basenumber <optional>
A base somente deve ser informada se estiver realizando a edição de informações de um key range existente.
userNamestring <optional>
passwordstring <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 keyRangeKeynumber Chave da licença que será licenciada para um cliente.
licenserKeynumber Chave gerada pelo proprietário da licença para controlar a distribuição de licenças para seus clientes.
licenseTypestring Tipo da licença que será criada. Os valores possíveis são: "C" (por conexão) ou "P" (por processador).
quantitynumber Quantidade de licenças concedidas à empresa licenciada.
expirationDate Data de expiração da licença.
licenseeNamestring Nome da empresa que será licenciada.
licenseeIdstring Identificação oficial da empresa licenciada no País ( Ex: CNPJ ).
userNamestring passwordstring 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 scriptReferencenumber | string Chave do script da VFS que deve ser executado ou caminho do script da UFS.
parametersNamesObject <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 sqlExpressionstring | 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 classNamestring Nome da classe de onde se deve pegar o campo.
codeOrKeystring Código ou chave do registro do qual se quer pegar o campo.
fieldNamestring 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 userKeynumber 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 classKeynumber | string Chave ou nome da tabela do cache local a ser clonada.
userKeynumber <optional>
Chave do usuário para que seja feito o filtro de visão.
permissionFieldNamestring <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 classKeyDBKey | number Chave da classe do Vfs que deve ser instanciada.
vfsDataSet <nullable>
classesDataSet <nullable>
ignoredClassKeysArray.<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 sqlOrArrayOfSqlstring | Array.<string> Expressão ou array de expressões SQL que deverão ser executadas.
optionsObject <optional>
Opções da consulta.
Properties
Name Type Argument Description queryCacheLifeTimenumber <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 sqlExpressionstring 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 startClassnumber Chave da classe de onde deve iniciar a montagem da hierarquia.
endClassnumber Chave da classe onde deve finalizar a montagem da hierarquia.
levelnumber <optional>
Quantidade de classes que irá pegar a partir da inicial.
opt_separatorstring <optional>
String que irá separar as classes. O Valor padrão é "/"
opt_bringClassesKeysboolean <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 userKeynumber - Deprecated:
- See:
Returns:
- Type
- Array.<number>
-
getKeyOfClass(className)
-
Parameters:
Name Type Description classNamestring - 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 keynumber 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 classKeyOrVfsKeynumber Chave ou nome da classe da qual deseja-se saber se o usuário tem permissão.
permissionFieldNamestring Nome do campo da tabela iPermission que define a permissão a ser obtida.
userKeynumber <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).
getModestring <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'.extraFilterstring <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 keynumber Chave do registro do qual se deseja obter as referências.
tableNamestring Nome da tabela da qual faz parte o registro informado pelo parâmetro key.
maxReturnCountnumber <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.
ignoredTablesArray.<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 userKeynumber 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 vfsScriptKeynumber 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 logTypenumber 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_contentstring <nullable>
Conteúdo que será gravado no campo iContent.
opt_keynumber <nullable>
Chave do registro ao qual o log faz referência. Será gravado no campo iKey.
opt_classKeynumber <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 classKeyOrSourcenumber | string iVfsOrParentKeyDataSet | number <optional>
iClassDataSet <optional>
- Deprecated:
Returns:
- Type
- ModelDef
-
isCachedData(classKey, tableName)
-
Verifica se a tabela faz parte do cache local.
Parameters:
Name Type Description classKeynumber Classe que define a tabela. Este parâmetro não é mais utilizado, sendo mantido apenas por compatibilidade de API.
tableNamestring 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 keynumber Chave da classe ou do registro a qual deseja verificar a hierarquia.
parentnumber 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 userKeynumber Chave do usuário.
groupKeynumber 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 userNamestring passwordstring - 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 taskTask Instância de Task que contém todas as definições da tarefa a ser executada.
userNamestring <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.
passwordstring <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 waitDataRefreshingboolean <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 emailEmail Instância de Email que contém as definições do email a ser enviado.
maxSizenumber <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 emailEmail 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 userKeynumber Chave do usuário que será associado ao Partner Key Range.
licenseKeysArray.<number> Array com as chaves das licenças que podem ser alteradas pelo usuário.
passwordsArray.<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 userKeynumber Chave do usuário que será associado ao Partner Key Range.
licenseKeysArray Array com as chaves das licenças que podem ser licenciadas pelo usuário.
passwordsArray 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 userKeyDBKey | number Chave do usuário que terá a senha alterada.
passwordstring 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 dtDate Data a ser verificada.
ufnumber <nullable>
Chave da UF quando deseja-se considerar feriados estaduais.
localidadenumber <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 keynumber Chave do registro.
opt_userKeynumber <optional>
Chave do usuário. Caso não seja informado, será considerado o usuário corrente.
- Deprecated:
Returns:
- Type
- boolean