Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-01-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Ejecutar sqlcmd desde delphi

Buen día como puedo ejecutar una sentencia SQL de creación de usuario desde delphi usando el sqlcmd.exe

Ya sea usando shellexecute o winexec, no logro que funcione alguien tiene alguna idea, de como ejecutarlo correctamente.

Ya que si ejecuto la sentencia de creación de usuario sqlcmd.exe directamente sin usar delphi lo hace correctamente, pero realizando la invocación desde delphi, me presenta errores, gracias de antemano.

Forma de invocación...
Código Delphi [-]
//Con Shell invocación
ShellExecute(Handle,nil,PChar('sqlcmd.exe'),PChar(Sentencia),nil,SW_SHOW);
//Con Winexec 
WinExec(PAnsiChar(AnsiString(Sentencia)), SW_SHOW);

Con cmd.exe lo intente pero no se como enviar varios retrocesos de directorios y por ultimo ejecutar la sentencia??
Responder Con Cita
  #2  
Antiguo 10-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué es sqlcmd? ¿cuáles son esos errores de los que no has dicho nada?
Responder Con Cita
  #3  
Antiguo 12-01-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Puedes poner la sentencia que intentar ejecutar?
¿Algún error?

Una alternativa es crear un BAT/CMD (que puedes crear desde el propio delphi) con lo que quieres ejecutar y luego lanzarlo desde Delphi con ShellExecute.


Estos dos mensajes hablan del tema que estamos tratando, aunque si buscas encontrarás más:
https://www.clubdelphi.com/foros/showthread.php?t=74794
https://www.clubdelphi.com/foros/showthread.php?t=86809
https://www.clubdelphi.com/foros/showthread.php?t=41249
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 14-01-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Necesito ejecutar una sentencia de creación de usuario usando el sqlcmd (es una utilidad para el manejo de bases de datos relacionales (SGBD) basado en el lenguaje Transact-SQL mediante la línea de comandos. Utilizando la línea de comandos sqlcmd, usted puede: - Mandar instrucciones T-SQL a la base de datos SQL Server), la sentencia la guarde en una variable string y luego desde delphi ejecuto las línea anteriores pero al ejecutarlo no sucede nada, no me genera algún error o sugerencia, tan solo muestra rapidamente la ventana de sqlcmd y continua, pero al revisar la base de datos el usuario no se creo correctamente, espero alguien pueda ayudarme.

La sentencia guardada en la variable es

Código SQL [-]
USE [master]
GO
CREATE LOGIN [Pepe] WITH PASSWORD=N'Pepe', 
DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF,CHECK_POLICY=OFF
GO

Aunque no solo necesito esta sentencia, sino ejecutar otras como creación de tablas o de base de datos, no lo requiero usando archivos externos sino dentro de mi aplicación guardados ya sean en variables o constantes.
Alguna idea de como hacerlo, gracias.

Última edición por Soa Pelaez fecha: 14-01-2017 a las 19:50:40.
Responder Con Cita
  #5  
Antiguo 19-01-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Cita:
Empezado por Soa Pelaez Ver Mensaje
Necesito ejecutar una sentencia de creación de usuario usando el sqlcmd (es una utilidad para el manejo de bases de datos relacionales (SGBD) basado en el lenguaje Transact-SQL mediante la línea de comandos. Utilizando la línea de comandos sqlcmd, usted puede: - Mandar instrucciones T-SQL a la base de datos SQL Server), la sentencia la guarde en una variable string y luego desde delphi ejecuto las línea anteriores pero al ejecutarlo no sucede nada, no me genera algún error o sugerencia, tan solo muestra rapidamente la ventana de sqlcmd y continua, pero al revisar la base de datos el usuario no se creo correctamente, espero alguien pueda ayudarme.

La sentencia guardada en la variable es

Código SQL [-]
USE [master]
GO
CREATE LOGIN [Pepe] WITH PASSWORD=N'Pepe', 
DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF,CHECK_POLICY=OFF
GO

Aunque no solo necesito esta sentencia, sino ejecutar otras como creación de tablas o de base de datos, no lo requiero usando archivos externos sino dentro de mi aplicación guardados ya sean en variables o constantes.
Alguna idea de como hacerlo, gracias.
Alguien puede colaborarme con esto.
Responder Con Cita
  #6  
Antiguo 19-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ya te han contestado que no se entiende.
Te han hecho unas preguntas para aclararlo pero no has respondido.
Responder Con Cita
  #7  
Antiguo 20-01-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Ya te han contestado que no se entiende.
Te han hecho unas preguntas para aclararlo pero no has respondido.
Les he dado respuesta, y a su vez me he explicado y he mostrado la sentencia que intento ejecutar, si lees bien explico que no se visualiza ningún error simplemente realiza el proceso, pero al revisar la base de datos el resultado de la sentencia no se realizo.

Quien pueda ayudarme Gracias.
Responder Con Cita
  #8  
Antiguo 20-01-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Soa Pelaez Ver Mensaje
Aunque no solo necesito esta sentencia, sino ejecutar otras como creación de tablas o de base de datos, no lo requiero usando archivos externos sino dentro de mi aplicación guardados ya sean en variables o constantes.
Alguna idea de como hacerlo, gracias.
Otra pregunta.
¿Porqué no ejecutas esas sentencias directamente con ADO contra el SQL Server (en lugar de usar una herramienta externa)?
Lo digo, porque será más rápido, más sencillo y con menos problemas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 20-01-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Otra pregunta.
¿Porqué no ejecutas esas sentencias directamente con ADO contra el SQL Server (en lugar de usar una herramienta externa)?
Lo digo, porque será más rápido, más sencillo y con menos problemas.
Lo necesito de esta manera porque al tener una conexión me solicita usuario y contraseña de base de datos, cosa que no tengo; por ello ejecuto esa instrucción por una herramienta externa y luego de esto ahí si tendría un usuario y contraseña para conectarme y realizar sentencias usando componentes de delphi de conexión y querys.

Gracias.
Responder Con Cita
  #10  
Antiguo 02-02-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Cita:
Empezado por Soa Pelaez Ver Mensaje
Lo necesito de esta manera porque al tener una conexión me solicita usuario y contraseña de base de datos, cosa que no tengo; por ello ejecuto esa instrucción por una herramienta externa y luego de esto ahí si tendría un usuario y contraseña para conectarme y realizar sentencias usando componentes de delphi de conexión y querys.

Gracias.
Alguien que pueda ayudarme?
Responder Con Cita
  #11  
Antiguo 02-02-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Podes pedir el usuario y contraseña en tiempo de ejecucion al momento de abrir la conexion a la base de datos. En realidad eso es el comportamiento por defecto de cualquier suite de componentes que trabajan con bases de datos. Por lo general la propiedad que lo activa/desactiva es llamda "LoginPrompt" en los objetos "TxxxConnection"
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ejecutar DTS desde delphi. Gaim2205 Varios 0 02-12-2008 17:14:25
Ejecutar Storedprocedure sql desde DLL DELPHI Avellas Internet 1 01-08-2008 18:51:44
Ejecutar DTS desde delphi 7.0 janexa Varios 8 28-01-2008 23:58:34
ejecutar PHP o javascript desde delphi torito Varios 3 11-03-2005 18:48:37
Ejecutar los .exe desde delphi Javier_A OOP 2 28-01-2004 16:10:24


La franja horaria es GMT +2. Ahora son las 12:13:25.


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
Copyright 1996-2007 Club Delphi