Saltar al contenido
Ver temas
Administración

Acceso SQL para el equipo de TI

Conéctate directo a la base de datos de tu empresa desde DBeaver, DataGrip, Power BI o Excel, usa las tablas con los nombres de Nori escritorio y crea tus propias funciones y procedimientos en el esquema custom.

Actualizado el 24 de octubre de 2026

Si tu empresa tiene su propio equipo de TI, puede consultar la base de datos de Nori directamente y guardar ahí su propia lógica (por ejemplo, el cálculo de comisiones que antes tenían como procedimiento almacenado en SQL Server). Las ventas, pagos, existencias y facturas se siguen registrando desde Nori o su API: así se protegen las existencias, los saldos, la sincronización con el ERP y el CFDI.

Quién puede activarlo

Un usuario con licencia de Administrador, o con el permiso Acceso SQL en su rol, entra a Administración › Acceso SQL. No está disponible en la empresa de demostración.

Los dos usuarios

Usuario Para qué
Lectura (t_<empresa>_read) Reportes, Power BI, Excel y consultas desde un editor. Todas sus sesiones son de solo lectura.
Desarrollo (t_<empresa>_owner_custom) Crear funciones, procedimientos, vistas y tablas en el esquema custom. También lee todo lo que lee el de lectura.

Ninguno puede escribir en las tablas de Nori. Tampoco ven usuarios, contraseñas, certificados, ajustes ni credenciales de integraciones.

Generar credenciales

  1. En Acceso SQL, en el usuario que necesitas, presiona Generar credenciales.
  2. Copia la contraseña en ese momento. No se guarda y no se vuelve a mostrar. Si se pierde, genera otra.
  3. Cambiar contraseña invalida la anterior y cierra las sesiones abiertas. Quitar acceso impide entrar a ese usuario; Desactivar todo el acceso SQL lo hace con los dos.
  4. Captura en Redes permitidas las IP o redes (por ejemplo 201.150.10.0/24) desde donde se conecta tu equipo. Soporte de Nori las aplica en el servidor; sin redes permitidas nadie entra aunque tenga contraseña.

La Bitácora registra quién generó, cambió o quitó credenciales, quién cambió las redes y desde qué IP. Conexiones abiertas muestra quién está conectado ahora.

Conectarte

Los datos (servidor, puerto, base, usuario) están en la pantalla. La conexión siempre es cifrada (sslmode=require).

  • DBeaver / DataGrip: nueva conexión PostgreSQL; captura servidor, puerto, base, usuario y contraseña, y en SSL elige require. También puedes pegar la URL JDBC que muestra la pantalla.
  • Power BI: Obtener datos › Base de datos PostgreSQL; servidor host:puerto y la base. Usa Importar con refrescos programados, no DirectQuery.
  • Excel: instala el controlador ODBC de PostgreSQL (psqlODBC de 64 bits) y usa Datos › Obtener datos › Desde otras fuentes › ODBC con la cadena que muestra la pantalla.

Qué puedes leer

  • Las tablas de Nori (public), en inglés: documents, document_lines, business_partners, items, item_warehouse, payments… El significado de cada campo está en Informes › Diccionario de datos.
  • Las vistas legacy, con las tablas y columnas de Nori escritorio: documentos, partidas, socios, articulos, pagos, partidas_pagos, flujo, almacenes, inventario y otras 40. Sirven para que tus consultas de escritorio sigan funcionando con los mismos nombres. Las banderas (cancelado, activo) siguen siendo 0 y 1, y documentos.clase sigue siendo FA, NC, PE… Lo que el modelo nuevo ya no tiene sale como NULL.
  • Lo que tu equipo crea en custom.

Con el usuario de lectura la búsqueda de nombres es legacy, public, custom: SELECT * FROM documentos lee la vista de escritorio y SELECT * FROM documents la tabla nueva.

Crear tus propias funciones

Conéctate con el usuario de desarrollo. Lo que crees sin indicar esquema queda en custom:

CREATE OR REPLACE FUNCTION custom.comisiones(p_desde date, p_hasta date)
RETURNS TABLE (vendedor text, ventas numeric, comision numeric)
LANGUAGE sql STABLE AS $$
    SELECT v.nombre, sum(d.subtotal * d.tipo_cambio), sum(d.subtotal * d.tipo_cambio) * v.porcentaje_comision / 100
    FROM legacy.documentos d JOIN legacy.vendedores v ON v.id = d.vendedor_id
    WHERE d.clase = 'FA' AND d.cancelado = 0 AND d.fecha_documento::date BETWEEN p_desde AND p_hasta
    GROUP BY v.nombre, v.porcentaje_comision
$$;

Después úsala en un reporte con SQL de Nori o en un formato de impresión: SELECT * FROM custom.comisiones(:periodo_desde, :periodo_hasta). Nori la ejecuta con el usuario de lectura y con límite de tiempo.

Puedes crear tablas propias en custom (por ejemplo, metas por vendedor) y escribir en ellas; no en las de Nori.

Traer un procedimiento de SQL Server

En Acceso SQL › Importar procedimiento pega el CREATE PROCEDURE de SQL Server:

  1. Nori lo convierte a una función de PostgreSQL (y, si la IA está activa, puede mejorar la conversión).
  2. Revisa los puntos por revisar: lo que no se pudo convertir sale con el fragmento exacto.
  3. Corrige el código si hace falta y presiona Probar: se compila sin guardar nada.
  4. Marca que lo revisaste y presiona Guardar e instalar. Cada versión queda en el historial; puedes abrir una anterior y volver a instalarla.

Si el procedimiento escribía en tablas del negocio (por ejemplo, actualizaba saldos), esa parte no se convierte: hazla con la API de Nori.

Consultas de Nori escritorio

Al importar formatos .repx con nori:import-reports, y con el botón Convertir desde SQL Server del editor de reportes con SQL, Nori traduce el SQL de escritorio: TOP → LIMIT, ISNULL → COALESCE, GETDATE() → now(), DATEADD/DATEDIFF, CONVERT con estilos de fecha, concatenación con +, [corchetes], WITH (NOLOCK), @parámetros → :parámetros y EXEC → SELECT * FROM custom.…. Lo que no puede traducir lo marca y el formato queda como Requiere revisión.

Diferencias de PostgreSQL a tener en cuenta:

  • Las comparaciones de texto con = distinguen mayúsculas (LIKE se traduce a ILIKE, que no las distingue).
  • Una división entre enteros da entero, igual que en SQL Server; usa ::numeric si necesitas decimales.
  • No hay tablas #temporales en consultas: usa WITH (CTE).

Nivel de servicio

La base está en un servidor compartido. Cada consulta tiene límite de tiempo (60 s en lectura, 120 s en desarrollo), hay un máximo de conexiones por usuario y las consultas pesadas pueden cortarse. Para un uso intensivo (Power BI cada pocos minutos, muchos usuarios) Nori ofrece una réplica de solo lectura o un servidor dedicado como servicio adicional; pregunta a tu asesor.

¿No encuentras algo?

Cuéntanos qué necesitas hacer y te respondemos. Si ya eres cliente, menciona el nombre de tu empresa.

Escríbenos