• Publicidad

Huawei

Todo acerca de las bases de datos que existen: SQL, MySQL, Oracle, Postgres, CSV, etc.

Notapor explorer » 2007-08-01 13:16 @594

La línea de la conexión está mal escrita. Según el manual del DBD::Sybase debe ser así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $q_string = "dbi:Sybase:host=$host_name;database=$db_name";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Notapor Kiloko » 2007-08-01 13:42 @612

Efectivamente, pero ahora aparece.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
DBI connect('host=172.21.50.50;database=iMapTopoDB','X',...) failed: (no error string) at /root/workspace/Servidor/conectarsb.pm line
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


que sería esta línea:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
DBI->connect($q_string, $db_user, $db_pass,{PrintError => 0, RaiseError => 1}));
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor Kiloko » 2007-08-01 13:46 @615

Creo yo que la solución por el puerto está descartada completamente, no hay forma de alterarlo con los permisos de usuario que poseo. El dichoso archivo no aparece y todo indica que el puerto está cerrado...
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor explorer » 2007-08-01 14:07 @630

Yo veo al menos tres dificultades a resolver. En el lado del cliente (el tuyo), debes tener instalada la librería Open Client Library, definir la variable SYBASE dentro del programa cliente y que en el servidor esté funcionando Sybase con los puertos tcp.

De los dos primeros, te los comentan en el manual de DBD::Sybase. Del tercero, hay algunas referencias en Internet. Yo creo que buscando un poco más aparecerá el manual de instalación de Sybase y dirá cómo activarlo. Pero si no tienes permiso para editar el fichero de configuración en el servidor, no puedes hacer nada. Nada al menos desde fuera. Si al menos puedes entrar por consola en el servidor... podrías hacer el programa cliente en la propia máquina, por lo que entonces no necesitas conectarte a ningún puerto tcp y sólo necesitarías definir la variable de entorno DSQUERY.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Kiloko » 2007-08-01 15:14 @676

¿Programa Cliente y eso cómo se come? ¿te refieres a que desde esa máquina me conecte a mi máquina externa?
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor explorer » 2007-08-01 16:32 @730

Un servidor es el que ofrece servicios y el cliente es el que solicita los servicios al servidor.

Un programa cliente es el que solicita servicios a un programa servidor.

Cada uno puede estar en un máquina distinta, o en la misma máquina.

Cliente-Servidor
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Kiloko » 2007-08-01 17:35 @774

:? jajajajajaaja ok ok me vi muy novato, o como se dice en el ambiente muy usuario... jajajaja

Formulo nuevamente mi pregunta al decir hacer, el programa cliente, ¿te refieres a escribirlo, compilarlo y ejecutarlo en esa máquina? (considerando, claro, que tenga Perl) :?:
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor explorer » 2007-08-01 17:49 @784

Yo conozco Sybase, pero sí el acceso de otras bases de datos (Informix, ODBC, Access y MySQL). En casi todas ellas, había unas normas para acceder a ellas, y esas normas también dependían de si estabas en la misma máquina o no.

En el caso general, la conexión es a un puerto tcp donde el DBI, gracias al driver DBD::* correspondiente, sabe acceder y conectar con la base de datos.

En el caso de Sybase, por lo que veo en el manual, hay que seguir una serie de reglas, que son las comentadas en el mensaje mío anterior. Considero que es importante que leas al menos la sección "Connecting to Sybase" de dicha página.

Yo no tengo acceso a ninguna base Sybase, por lo que ahí ya no te puedo ayudar más.

Actualización: por lo que veo en el Makefile.PL de DBD::Sybase, es necesario que tengas instalado la libct (la Open Client library comentada antes). Sin esta librería no podrás hacer nada.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Kiloko » 2007-08-01 18:00 @792

Mil gracias mi buen explorer. Ya revisé. La solución definitiva va a a ser pedir que se cree un usuario con todos los privilegios y con éste editar los archivos (sybase.cfg u otras rutas) y agregar el puerto, de otra forma esto sería muy complicado. En resumen:

Tanto los programas que me recomendó creating021 (por cierto, muy buenos) así como el código en Perl son inútiles si no se tiene un acceso a dicho servidor (puerto dado de alta). Se revisaron los puertos y se determinó visualmente que no existía dicho acceso, así que habrá que crearlo, digo, es la solución más rápida y obvia a un que yo quería ver si se podía de otra forma (sin afectar el funcionamiento) pero bueno, con esto sera cosa de editar y reiniciar.

Bueno pues cierro esta discusión con estos puntos y en cuanto me creen el usuario y modifique el archivo, subo las modificaciones, para que vean como quedó...

SAludos...
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

Notapor Kiloko » 2007-08-02 17:09 @756

Una pregunta... algo fuera de tema... pero si quisiera hacer un respaldo de mi base de datos, a otro disco duro, ¿qué carpetas y que archivos (con qué terminaciones) debería de copiar?
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte
Avatar de Usuario
Kiloko
Perlero nuevo
Perlero nuevo
 
Mensajes: 243
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL

AnteriorSiguiente

Volver a Bases de datos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado