Copiar una Knowledge Base de GeneXus a otra PC

Copiar una Knowledge Base de GeneXus a otra PC

Copiar una Knowledge Base de GeneXus a otra PC

Guía paso a paso para migrar una KB de GeneXus (con SQL Server y Tomcat) entre máquinas de la empresa.


Paso 1 — Detener la base de datos en SQL Server

Abrí SQL Server Management Studio en la PC de origen, hacé clic derecho sobre la base de datos de tu KB (por ejemplo GX_KB_GX17_RecursosDSR) y seleccioná Tasks → Detach o ejecutá:

 
 
sql
ALTER DATABASE [GX_KB_GX17_RecursosDSR] SET OFFLINE WITH ROLLBACK IMMEDIATE;

Esto libera los archivos .mdf y .ldf para que se puedan copiar sin errores.


Paso 2 — Copiar la carpeta del proyecto (KB)

Abrí Total Commander y conectate a la PC destino usando su nombre de equipo. Por ejemplo, en la barra de ruta escribí:

 
 
\\PC15653907\D$\Proyectos\GX17\

Copiá toda la carpeta de la KB desde el origen hacia esa ubicación. En este ejemplo:

 
 
D:\Proyectos\GX17\GX17_RecursosDSR  →  (misma ruta en la PC destino)

Paso 3 — Detener Tomcat y copiar la webapp

Antes de copiar, detené el servicio de Tomcat en la PC destino. Podés hacerlo desde Servicios de Windows (services.msc) buscando “Apache Tomcat 8.5” y dándole Detener.

Luego, copiá por Total Commander la carpeta de la aplicación web:

 
 
C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\GX17_RecursosDSRDesarrollo

Esto te evita tener que hacer un Rebuild All en GeneXus, ya que pasa las librerías y archivos compilados.


Paso 4 — Editar el archivo knowledgebase.connection

En la PC destino, andá a la carpeta del proyecto (por ejemplo D:\Proyectos\GX17\GX17_RecursosDSR) y abrí el archivo knowledgebase.connection con un editor de texto (Notepad o Notepad++).

Cambiá los valores que apuntan a la PC de origen por los de la PC destino. Acá está la configuración original con comentarios de qué poner:

 
 
xml
<ConnectionInformation>
    <DBName>GX_KB_GX17_RecursosDSR</DBName>                <!-- NOMBRE DE LA BASE DE DATOS, NO SE CAMBIA -->
    <IntegratedSecurity>True</IntegratedSecurity>            <!-- DEJARLO EN TRUE, USA TU USUARIO DE WINDOWS -->
    <ServerInstance>PC15653907</ServerInstance>               <!-- NOMBRE DE TU PC DESTINO, EJ: PC18742031 -->
    <CreateDbInKbFolder>True</CreateDbInKbFolder>            <!-- NO SE CAMBIA -->
    <Directory>D:\Proyectos\GX17\GX17_RecursosDSR</Directory><!-- RUTA DONDE COPIASTE EL PROYECTO EN LA PC DESTINO -->
    <DataFile>GX_KB_GX17_RecursosDSR.mdf</DataFile>         <!-- NO SE CAMBIA -->
    <LogFile>GX_KB_GX17_RecursosDSR_log.ldf</LogFile>       <!-- NO SE CAMBIA -->
    <HostName>PC15653907</HostName>                          <!-- NOMBRE DE TU PC DESTINO (IGUAL QUE ServerInstance) -->
</ConnectionInformation>

Resumen: solo cambiás ServerInstance, HostName (ambos al nombre de la PC destino) y Directory (si la ruta es distinta).


Paso 5 — Adjuntar (Attach) la base de datos en la PC destino

Este paso es clave y muchas veces se olvida. En la PC destino, abrí SQL Server Management Studio, hacé clic derecho en Databases → Attach… y buscá el archivo .mdf que copiaste (debería estar dentro de la carpeta del proyecto):

 
 
D:\Proyectos\GX17\GX17_RecursosDSR\GX_KB_GX17_RecursosDSR.mdf

SQL Server detecta automáticamente el .ldf asociado. Dale OK y verificá que la base aparezca en la lista de databases.

Si preferís hacerlo por consulta SQL:

 
 
sql
CREATE DATABASE [GX_KB_GX17_RecursosDSR]
ON (FILENAME = 'D:\Proyectos\GX17\GX17_RecursosDSR\GX_KB_GX17_RecursosDSR.mdf'),
   (FILENAME = 'D:\Proyectos\GX17\GX17_RecursosDSR\GX_KB_GX17_RecursosDSR_log.ldf')
FOR ATTACH;

Paso 6 — Dar permisos de administrador en SQL Server

Después del Attach, necesitás asegurarte de que tu usuario de Windows tenga permisos sobre la base de datos. En SQL Server Management Studio:

  1. Expandí Security → Logins en el panel izquierdo.
  2. Buscá tu usuario de Windows (ej: DOMINIO\tu.usuario). Si no está, hacé clic derecho en Logins → New Login y agregalo.
  3. Hacé clic derecho sobre tu usuario → PropertiesServer Roles → tildar sysadmin (o al menos dbcreator y db_owner).
  4. En la misma ventana, andá a User Mapping → tildar la base GX_KB_GX17_RecursosDSR → marcar el rol db_owner.

Sin esto, GeneXus te va a tirar error de permisos al intentar abrir o modificar la KB.


Paso 7 — Iniciar Tomcat y abrir la KB

Volvé a iniciar el servicio de Apache Tomcat en la PC destino desde services.msc.

Finalmente, abrí GeneXus y usá File → Open Knowledge Base, navegá hasta la carpeta del proyecto en la PC destino y seleccioná el archivo .gxw. GeneXus debería conectarse sin problemas.


Checklist rápido

# Acción ¿Listo?
1 Detener/Detach la DB en la PC origen
2 Copiar carpeta del proyecto por Total Commander
3 Detener Tomcat en destino y copiar webapp
4 Editar knowledgebase.connection con datos de la PC destino
5 Attach de la DB en SQL Server de la PC destino
6 Dar permisos de administrador en SQL Server
7 Iniciar Tomcat y abrir la KB en GeneXus

Tip: Si al abrir la KB te da error de conexión, verificá que el servicio de SQL Server esté corriendo en la PC destino y que el nombre de la instancia sea correcto (a veces es PC\SQLEXPRESS en lugar de solo PC).

Deja un comentario 0

Your email address will not be published. Campos requeridos marcados *