Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Conexión NETBEUI (https://www.clubdelphi.com/foros/showthread.php?t=95874)

pgranados 19-09-2022 16:36:46

Conexión NETBEUI
 
1 Archivos Adjunto(s)
Buen día compañeros, soy nuevo utilizando Delphi y Firebird y quería realízales la siguiente consulta.

Tengo un programa en Delphi 10.4 el cual solo realiza una consulta a una tabla (select * from new_table) y la muestra en un grid, si utilizo protocolo local no tengo ningún problema, mi programa funciona de maravilla.

Pero al querer utilizar el protocolo NETBEUI es donde tengo problema, desconozco si estoy configurando algo mal.

En otra máquina que tengo conectada a mi servidor por NETBEUI ejecuto Firebird y ejecuto el comando
Código:

connect "\\PAUL\C:\Users\Paul\Desktop\PROYECTO\TEST.FDB" user "SYSDBA" password "masterkey";
Si se conecta sin ningún problema.

¿Alguien puede apoyarme? :D

Anexo foto de como tengo configurado el FDConnection1

ecfisa 19-09-2022 17:24:44

Hola.

En Windows el puerto 3050 debe estar abierto en el servidor: Como abrir un puerto en windows 10
Revisa también este enlace: Problemas de conexión

Saludos :)

pgranados 19-09-2022 17:49:42

Gracias por tu pronta respuesta, el puerto 3050 ya se encuentra abierto y el problema sigue.

Como lo comente en el post si puedo acceder a la base de datos desde Firebird ISQL Tool, no creo que sea un problema de mi red, si no de como lo configuro yo en Delphi.

¿Alguna otra cosa que pueda observar? Saludos. :D

chenech 19-09-2022 19:54:28

uffffff usar Netbeui actualmente? Yo uso TCP y no hay compración, pero bueno, comprueba si está activado SMB 1.0 en las características de Windows, podria ser eso.

pgranados 19-09-2022 20:51:44

Cita:

Empezado por chenech (Mensaje 548334)
uffffff usar Netbeui actualmente? Yo uso TCP y no hay compración, pero bueno, comprueba si está activado SMB 1.0 en las características de Windows, podria ser eso.

Ya pude hacer la conexión por TCP, y como dices, mucho mejor por TCP jejeje.

Ahora necesito que mi programa me pregunte la IP al ejecutarlo, ¿sabrás cómo realizarlo? Saludos.

:cool:

chenech 20-09-2022 11:40:51

Que componente usas? si es DBExpress o Firedac tiene un dato llamado host que es donde va la ip y otro Databasename si no recuerdo mal donde va el path de la base de datos.
La IP yo la tengo en un archivo ini con algunos parámetros mas y la leo a ejecutar el programa y se la paso al componente en tiempo de ejecución, o bien te creas un form donde la pides antes de conectar a la BD.

hugobenitez 18-01-2023 02:36:16

Cita:

Empezado por pgranados (Mensaje 548335)
Ya pude hacer la conexión por TCP, y como dices, mucho mejor por TCP jejeje.

Ahora necesito que mi programa me pregunte la IP al ejecutarlo, ¿sabrás cómo realizarlo? Saludos.

:cool:

Hola! como estas? te pregunto ya que veo que pudiste resolver tu problema. No logro conectarme siquiera localmente a una base de datos en una maquina donde instale Firebird Cliente. Datos sobre el equipo. Tengo un solo disco C donde creo una carpeta y le copio y pego: el exe, fbclient.dll, FDConnectiondef.ini con la siguiente informacion dentro:

[Remiseria]
Database=C:\SistemaRemiseria\DBREMISERIA.FDB
User_Name=SYSDBA
Password=masterkey
DriverID=FB
Name=Remiseria


despues me da el siguiente error:
[fireDAC][Phys][FB]Unable to complete network request to host "xnet://Global\FIREBIRD


del cual ya no logro salir, porque no puedo conectarme. Les paso el texto que aparece en TFDConnection.GetInfoReport:
================================
Connection definition parameters
================================
Protocol=Local
Port=0
RoleName=Usuario
ConnectionDef=Remiseria
Database=C:\SistemaRemiseria\DBREMISERIA.FDB
User_Name=SYSDBA
Password=*****
DriverID=FB
Name=Remiseria
================================
FireDAC info
================================
Tool = RAD Studio 11.0
FireDAC = 28.0.0 (Build 106147)
Platform = Windows 32 bit
Defines = FireDAC_NOLOCALE_META;FireDAC_MONITOR
================================
Client info
================================
Loading driver FB ...
Brand = Firebird
Client version = 400029900
Client DLL name = C:\SistemaRemiseria\fbclient.dll
================================
Session info
================================
Failed to connect to DBMS !
[FireDAC][Phys][FB]Unable to complete network request to host "xnet://Global\FIREBIRD".

Casimiro Notevi 18-01-2023 09:45:17

Prueba a usar ruta IP local:
localhost://c:/ruta/bd.fdb
No recuerdo si en windows las barras van así o al revés.

pgranados 18-01-2023 19:45:37

Cita:

Empezado por hugobenitez (Mensaje 550075)
Hola! como estas? te pregunto ya que veo que pudiste resolver tu problema. No logro conectarme siquiera localmente a una base de datos en una maquina donde instale Firebird Cliente. Datos sobre el equipo. Tengo un solo disco C donde creo una carpeta y le copio y pego: el exe, fbclient.dll, FDConnectiondef.ini con la siguiente informacion dentro:

[Remiseria]
Database=C:\SistemaRemiseria\DBREMISERIA.FDB
User_Name=SYSDBA
Password=masterkey
DriverID=FB
Name=Remiseria


despues me da el siguiente error:
[fireDAC][Phys][FB]Unable to complete network request to host "xnet://Global\FIREBIRD


del cual ya no logro salir, porque no puedo conectarme. Les paso el texto que aparece en TFDConnection.GetInfoReport:
================================
Connection definition parameters
================================
Protocol=Local
Port=0
RoleName=Usuario
ConnectionDef=Remiseria
Database=C:\SistemaRemiseria\DBREMISERIA.FDB
User_Name=SYSDBA
Password=*****
DriverID=FB
Name=Remiseria
================================
FireDAC info
================================
Tool = RAD Studio 11.0
FireDAC = 28.0.0 (Build 106147)
Platform = Windows 32 bit
Defines = FireDAC_NOLOCALE_META;FireDAC_MONITOR
================================
Client info
================================
Loading driver FB ...
Brand = Firebird
Client version = 400029900
Client DLL name = C:\SistemaRemiseria\fbclient.dll
================================
Session info
================================
Failed to connect to DBMS !
[FireDAC][Phys][FB]Unable to complete network request to host "xnet://Global\FIREBIRD".


Hola. ¿Pero si te puedes conectar a tu base datos desde algún gestor como IBExpert o DBeaver? o directamente desde Firebird ISQL Tool

hugobenitez 18-01-2023 21:43:01

Cita:

Empezado por pgranados (Mensaje 550088)
Hola. ¿Pero si te puedes conectar a tu base datos desde algún gestor como IBExpert o DBeaver? o directamente desde Firebird ISQL Tool

Gracias por escuchar, la verdad estoy muy perdido con esto. Respondiendo a tu pregunta y ampliando mi situacion:

Equipo Servidor: windows 11 con delphi, ibexpert y firebird 4 (32 bits) instalado y funcionando todo de 10 que es donde comence a hacer el proyecto (vengo de delphi 5 con paradox "para orientarlos"). Comparto una carpeta que accedo desde cualquier equipo, veo su contenido y puedo modificarlo con windows que se llama \\OFICINA-CENTRAL\RedRemiseria.

Equipo Cliente: (donde nada funciona) tengo windows 10 (64 bits), donde instale firebird cliente 4 (32 bits), desde donde puedo ver, acceder y modificar la misma carpeta de \\OFICINA-CENTRAL\RedRemiseria. Probe PING 192.168.100.211 desde el CMD y todo perfecto sin errores: envia 4 paquetes y recibe 4 paquetes.

No soy complejo porque no soy experto para nada, intento aprender y estoy desesperado porque no pense que me iba a costar tanto o bien me paso la tecnologia por encima (mil perdones chicos se que son todos unos genios)

Les paso el cambio que hice ahora en el archivo FDConnectionDefs que se encuentra en la maquina cliente para ver si por lo menos podia acceder remotamente a la base que esta la misma red, mis maquinas tienen IP fija, abri el puerto 3050 como enseñan en muchos lugares, desactive el fireware de windows 11 y nada.

[Remiseria]
Server=192.168.100.211
Database=\RedRemiseria\DBREMISERIA.FDB
User_Name=SYSDBA
Password=masterkey
Protocol=TCPIP
Port=3050
DriverID=FB


y recibo el error:
[fireDAC][Phys][FB]Unable to complete network request to host "192.168.100.211'
Failed to establish a connection


y asi se viene repitiendo el error y ya no se que pensar. Hace un momento antes de terminar de escribir probe en el equipo cliente lo siguiente:
Ejecutar de windows le coloque \\192.168.100.211\RedRemiseria y abre perfecto en el explorador de windows

pgranados 18-01-2023 21:57:17

Cita:

Empezado por hugobenitez (Mensaje 550091)
Gracias por escuchar, la verdad estoy muy perdido con esto. Respondiendo a tu pregunta y ampliando mi situacion:

Equipo Servidor: windows 11 con delphi, ibexpert y firebird 4 (32 bits) instalado y funcionando todo de 10 que es donde comence a hacer el proyecto (vengo de delphi 5 con paradox "para orientarlos"). Comparto una carpeta que accedo desde cualquier equipo, veo su contenido y puedo modificarlo con windows que se llama \\OFICINA-CENTRAL\RedRemiseria.

Equipo Cliente: (donde nada funciona) tengo windows 10 (64 bits), donde instale firebird cliente 4 (32 bits), desde donde puedo ver, acceder y modificar la misma carpeta de \\OFICINA-CENTRAL\RedRemiseria. Probe PING 192.168.100.211 desde el CMD y todo perfecto sin errores: envia 4 paquetes y recibe 4 paquetes.

No soy complejo porque no soy experto para nada, intento aprender y estoy desesperado porque no pense que me iba a costar tanto o bien me paso la tecnologia por encima (mil perdones chicos se que son todos unos genios)

Les paso el cambio que hice ahora en el archivo FDConnectionDefs que se encuentra en la maquina cliente para ver si por lo menos podia acceder remotamente a la base que esta la misma red, mis maquinas tienen IP fija, abri el puerto 3050 como enseñan en muchos lugares, desactive el fireware de windows 11 y nada.

[Remiseria]
Server=192.168.100.211
Database=\RedRemiseria\DBREMISERIA.FDB
User_Name=SYSDBA
Password=masterkey
Protocol=TCPIP
Port=3050
DriverID=FB


y recibo el error:
[fireDAC][Phys][FB]Unable to complete network request to host "192.168.100.211'
Failed to establish a connection


y asi se viene repitiendo el error y ya no se que pensar. Hace un momento antes de terminar de escribir probe en el equipo cliente lo siguiente:
Ejecutar de windows le coloque \\192.168.100.211\RedRemiseria y abre perfecto en el explorador de windows


Primero te recomendaría hacerlo desde el punto mas bajo hasta lo complejo.

Ejecuta ISQL en tu segundo equipo e intenta conectarte a tu base de datos que tienes el equipo A.

Aunque de entrada veo que estas usando TCPIP y en Database file usas una conexión NETBEUI ¿O me equivoco?:confused:

Dale una leída a: https://firebird21.wordpress.com/tag/conectar/

:D

hugobenitez 19-01-2023 00:39:04

Cita:

Empezado por pgranados (Mensaje 550092)
Primero te recomendaría hacerlo desde el punto mas bajo hasta lo complejo.

Ejecuta ISQL en tu segundo equipo e intenta conectarte a tu base de datos que tienes el equipo A.

Aunque de entrada veo que estas usando TCPIP y en Database file usas una conexión NETBEUI ¿O me equivoco?:confused:

Dale una leída a: https://firebird21.wordpress.com/tag/conectar/

:D

Te agradeceria me indicaras como seria la notacion en DATABASE usando conexion TCPIP por favor porque ya probe todo lo que pienso que es y nada, tal vez ahi me estoy equivocando (clara ignorancia en la materia de mi parte).

Te cuento lo que probe en el ISQL (ejecute como administrador), lo hago en el equipo CLIENTE y nada cualquier error no funciona directamente, lo pruebo en el SERVIDOR y me tira lo siguiente:

si conecto asi:
CONNECT D:\PASE\DBREMISERIA.FDB USER SYSDBA PASSWORD MASTERKEY;
me conecta perfectamente y puedo hacer SHOW TABLES, etc

ahora si conecto asi:
CONNECT 192.168.100.211: D:\PASE\DBREMISERIA.FDB USER SYSDBA PASSWORD MASTERKEY,
me dice el siguiente error: (les aviso que separe el dos puntos de la letra D porque me arroja una carita, por las dudas)
Statement failed, SQLSTATE = 08004
connection rejected by remote interface


en el ejemplo veran que cambie la carpeta SISTEMAREMISERIA por PASE como para no hacer tan larga la descripcion, copie la base de datos a esta carpeta y asi y todo me conecta en el primer ejemplo en el segundo nada. Incluso comparti el disco D con todos los permisos como para probar pero nada no logro conectar, perdon amigos y gracias por la paciencia. Vengo de Paradox que era tan sencillo y ahora no se que me paso aca, se me quemo el libro, perdon.

hugobenitez 19-01-2023 01:44:20

Cita:

Empezado por pgranados (Mensaje 550092)
Primero te recomendaría hacerlo desde el punto mas bajo hasta lo complejo.

Ejecuta ISQL en tu segundo equipo e intenta conectarte a tu base de datos que tienes el equipo A.

Aunque de entrada veo que estas usando TCPIP y en Database file usas una conexión NETBEUI ¿O me equivoco?:confused:

Dale una leída a: https://firebird21.wordpress.com/tag/conectar/

:D

Yo de nuevo, te cuento que logre "sin darme cuenta", instale el servidor firebird 4 en la maquina cliente y usando tu recomendacion del ISQL pude conectarme asi:
CONNECT 192.168.100.32:C:\SistemaRemiseria\DBRemiseria.FDB USER SYSDBA PASSWORD masterkey; desde el servidor a la maquina cliente (que paso a ser servidor tambien)

primer error: la clave tenia que escribir en minusculas
segundo error: el cual no se como solucionar la verdad es: en la maquina SERVIDOR tengo instalado Hyper-V porque como les comente vengo de DELPHI 5 y PARADOX, en esa maquina virtual sigo trabajando hasta que entienda todo esto, y al parecer como tengo dos "supuestas" placas de red, creo que eso provoca el siguiente error:
Statement failed, SQLSTATE = 08004
connection rejected by remote interface


intente deshabilitar la placa de red virtual llamada: vEthernet (OficinaRed) Hyper-V Virtual Ethernet Adapter #2
y dejar la placa fisica: Realtek ...., de esta ultima active todos los servicios como deberia funcionar normalmente pero no logro salir del error que les comente.
Pero almenos me volvio el alma al cuerpo gracias a sus ayudas obviamente, ahora buscare una solucion a esto porque necesito red en la maquina virtual tambien.
Asi que una emoción tengo pense que firebird me habia dejado de lado.

hugobenitez 20-01-2023 13:39:32

1 Archivos Adjunto(s)
Cita:

Empezado por pgranados (Mensaje 550092)
Primero te recomendaría hacerlo desde el punto mas bajo hasta lo complejo.

Ejecuta ISQL en tu segundo equipo e intenta conectarte a tu base de datos que tienes el equipo A.

Aunque de entrada veo que estas usando TCPIP y en Database file usas una conexión NETBEUI ¿O me equivoco?:confused:

Dale una leída a: https://firebird21.wordpress.com/tag/conectar/

:D

Hola amigos! Les cuento que pude solucionar, asi que primero GRACIAS MILES A TODOS porque siempre que he pedido ayuda aqui estuvieron "MIL MIL GRACIAS". Les cuento la situacion y le adjunto una imagen, tengo mas imagenes porque queria ser lo mas descriptivo posible porque no encontre nada al respecto y sé que mas de un viejo como yo estará en esta situacion, porque aparentemente como no soy experto no tengo nada mas instalado "aparentemente" exceptuando la maquina virtual que para completar es Hyper-V de windows (no lo baje digamos es todo lo que traer windows), creo haberles dicho que tengo windows 11 pro, con la educacion vieja que traigo del paradox donde compartia una carpeta y podia acceder a mis bases de datos.

1) encontre haciendo netstat -na el puerto 3050 dobleblemente abierto (de esto les adjunto la imagen)
2) quite el simbolo # al archivo firebird.conf en donde dice: RemoteServicePort = 3051 (solo eso nada mas que eso)
3) abri el puerto como me enseñaron en windows
4) reinicie el equipo y funciono! apesar de ser simple la explicacion y capaz obvia para algunos les juro que me hizo doler la cabeza durante dias
5) cuando vuelvo a consultar netstat-na aparece el puerto 3050 y 3051, apartir de ahi funciona el acceso a mi base usando: connect 192.168.100.211 y 192.168.100.211/3051 "cosa de locos".

La conclusion final para mi "viejo programador, viejo no por mucho saber sino por algo que ni conocia" es:
consultar netstat -na, si el puerto 3050 esta duplicado, modificar el archivo firebird.conf para que firebird se conecte por el 3051 y obviamente abrir el puerto en windows.

Y colorin colorado el cuento se ha terminado. Espero haber ayudado a otros, y si este tema va en otro foro me enseñan por favor asi ayudo tambien.
GRACIAS MILES !!!!! :D

pgranados 20-01-2023 21:40:24

Cita:

Empezado por hugobenitez (Mensaje 550108)
Hola amigos! Les cuento que pude solucionar, asi que primero GRACIAS MILES A TODOS porque siempre que he pedido ayuda aqui estuvieron "MIL MIL GRACIAS". Les cuento la situacion y le adjunto una imagen, tengo mas imagenes porque queria ser lo mas descriptivo posible porque no encontre nada al respecto y sé que mas de un viejo como yo estará en esta situacion, porque aparentemente como no soy experto no tengo nada mas instalado "aparentemente" exceptuando la maquina virtual que para completar es Hyper-V de windows (no lo baje digamos es todo lo que traer windows), creo haberles dicho que tengo windows 11 pro, con la educacion vieja que traigo del paradox donde compartia una carpeta y podia acceder a mis bases de datos.

1) encontre haciendo netstat -na el puerto 3050 dobleblemente abierto (de esto les adjunto la imagen)
2) quite el simbolo # al archivo firebird.conf en donde dice: RemoteServicePort = 3051 (solo eso nada mas que eso)
3) abri el puerto como me enseñaron en windows
4) reinicie el equipo y funciono! apesar de ser simple la explicacion y capaz obvia para algunos les juro que me hizo doler la cabeza durante dias
5) cuando vuelvo a consultar netstat-na aparece el puerto 3050 y 3051, apartir de ahi funciona el acceso a mi base usando: connect 192.168.100.211 y 192.168.100.211/3051 "cosa de locos".

La conclusion final para mi "viejo programador, viejo no por mucho saber sino por algo que ni conocia" es:
consultar netstat -na, si el puerto 3050 esta duplicado, modificar el archivo firebird.conf para que firebird se conecte por el 3051 y obviamente abrir el puerto en windows.

Y colorin colorado el cuento se ha terminado. Espero haber ayudado a otros, y si este tema va en otro foro me enseñan por favor asi ayudo tambien.
GRACIAS MILES !!!!! :D

Que bueno que pudiste lograrlo. Un Saludo. :D


La franja horaria es GMT +2. Ahora son las 08:44:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi