Foros del Web » Programando para Internet » ASP Clásico »

Cargar fichero en Commantext

Estas en el tema de Cargar fichero en Commantext en el foro de ASP Clásico en Foros del Web. Buenas a todos, necesito generar una base de datos en un servidor sql server al que no puedo acceder con el Enterprise Manager. La primera ...
  #1 (permalink)  
Antiguo 13/02/2008, 09:57
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 8 meses
Puntos: 1
Cargar fichero en Commantext

Buenas a todos,

necesito generar una base de datos en un servidor sql server al que no puedo acceder con el Enterprise Manager.

La primera vez genere un fichero .sql y el administrador del otro servidor amablemente lo ejecuto. (decir que tengo permisos para administrar pero no puedo acceder de forma remota porque mi empresa cierra ciertos puertos necesarios para la comunicacion con el Enterprise Manager a nivel remoto).

Esta vez tenia pensado generar el fichero .sql de secuencia y desde una página asp ejecutarlo y asi que crease las tablas.

He visto por ahi el objeto Adodb.Command y me gustaria saber si podria cargar al CommandText el archivo .sql de alguna manera.

Espero que se entienda algo.
  #2 (permalink)  
Antiguo 13/02/2008, 10:12
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Cargar fichero en Commantext

Bueno, si, simplemente haces el upload del archivo de texto y con asp lo lees y lo ejecutas.

Saludos!
  #3 (permalink)  
Antiguo 13/02/2008, 10:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Cargar fichero en Commantext

Lo siento tio, pero estoy bastante torpe con esto. Nunca he utilizado el Command y no se muy bien como realizarlo.

El primer y segundo paso los tengo mas o menos claro, pero el tercero no consigo que funcione.

Te pongo un ejemplo para ver si puedes ayudarme.


Set objFSO = CreateObject("Scripting.FileSystemObject")


Set objOpenedFile = objFSO.OpenTextFile("ruta\Creacion.sql")
sReadAll = objOpenedFile.ReadAll

Set cmd = CreateObject("adodb.command")
cmd.ActiveConnection = ConnIntranet (conexion que tengo por otro lado)
cmd.CommandText = sReadAll
call cmd.Execute

Set cmd = Nothing

Creo que no debo cargar el texto sino el fichero pero no se como coño hacerlo. Siento ser tan patoso con esto, pero debe ser que hoy no es mi dia... :S
  #4 (permalink)  
Antiguo 13/02/2008, 15:51
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Cargar fichero en Commantext

Casi lo tienes

Sería algo como esto:

Código:
<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\query.sql", 1)
sReadAll = objTextFile.ReadAll
objTextFile.Close

set con = Server.CreateObject("ADODB.Connection")
ConnString = "Provider=SQLNCLI;Server=192.168.0.1;Database=Pruebas;Uid=login;Pwd=password;Initial Catalog=Pruebas"
Con.CommandTimeout  = 0
con.Open  ConnString

set Cmd=Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection=con

Cmd.CommandText=sReadAll
Cmd.Execute

Response.Write "Comando executado: <br>" 
Response.Write sReadAll 
con.close
%>
Saludos
  #5 (permalink)  
Antiguo 14/02/2008, 03:18
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Cargar fichero en Commantext

Pues me sigue saliendo el mismo error

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]No se encontró el procedimiento almacenado 'ÿþi'.

Creo que el archivo no lo lee bien. No se si es pq es un .sql o pq cojones, pero vamos, que leerlo no lo lee correctamente, creo.

En fin, voy a probar a pasar el archivo a .txt para ver que pasa, pero mucho me temo que volvere a escribir aqui :(
  #6 (permalink)  
Antiguo 14/02/2008, 03:18
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Cargar fichero en Commantext

Lo dicho, pasa lo mismo.
  #7 (permalink)  
Antiguo 14/02/2008, 03:24
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Cargar fichero en Commantext

Bueno, algo he conseguido.

He cogido el archivo .sql y he copiado su contenido a un nuevo .txt.

Ahora lo lee correctamente, pero el error que da es el siguiente:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Línea 3: sintaxis incorrecta cerca de 'GO'.



El archivo contiene la siguiente informacion:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ACCESORIOS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ACCESORIOS]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[IMTV]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[IMTV]
GO

CREATE TABLE [dbo].[ACCESORIOS] (
[MOD_TXT_ID_MODELO] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[ACC_INT_ID_ACCESORIO] [int] NOT NULL ,
[ACC_TXT_NOMACCESORIO] [varchar] (200) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[ACC_BIT_ACCESORIODESERIE] [bit] NOT NULL ,
[ACC_FLT_PRECIOACCESORIO] [float] NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[IMTV] (
[IMTV_INT_ID_MINPOTENCIA] [int] NOT NULL ,
[IMTV_INT_ID_MAXPOTENCIA] [int] NOT NULL ,
[IMTV_FLT_IMPORTEINICIAL] [float] NOT NULL ,
[IMTV_FLT_INCREMENTOANUAL] [float] NOT NULL
) ON [PRIMARY]
GO

que no es ni mas ni menos que lo que ha generado el SQL Server.
  #8 (permalink)  
Antiguo 14/02/2008, 08:21
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Cargar fichero en Commantext

El erro no tiene nada que ver con la extención, igual puedes ponerle al archivo query.la.extension.no.tiene.nada.que.ver, y va a funcionar, ya que el contenido no es otra cosa que simple texto plano.

Cita:
[Microsoft][ODBC SQL Server Driver][SQL Server]Línea 3: sintaxis incorrecta cerca de 'GO'.
¿no has tratado quitándole los GO?
  #9 (permalink)  
Antiguo 20/02/2008, 09:13
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Cargar fichero en Commantext

Buenas MyaKire,

gracias por contestarme tio. Lo voy a probar y ya te contare ;)
  #10 (permalink)  
Antiguo 20/02/2008, 09:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Cargar fichero en Commantext

Esto...como explicarlo...siento no haber probado antes, pero la verdad es que estaba perdido.

Lo del GO es correcto, quitandolo funciona. Aparte ahi que tener cuidado pq los CREATE PROCEDURE no los entiende muy bien, pero la estructura de la base de datos la he conseguido pasar sin ningun problema.

Muchas gracias ;)
  #11 (permalink)  
Antiguo 20/02/2008, 11:48
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Cargar fichero en Commantext

Ok, me alegro que hayas podido, si tienes otro detalle sobre esto mismo, pregunta y ya veremos como solucionarlo

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:07.