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

Renombrar Tabla de la BD

Estas en el tema de Renombrar Tabla de la BD en el foro de ASP Clásico en Foros del Web. Hola a todo el entre en el tema: Quería renombrar una tabla de la base de datos Access a través de código, mediante una orden ...
  #1 (permalink)  
Antiguo 27/03/2006, 06:39
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años
Puntos: 3
Renombrar Tabla de la BD

Hola a todo el entre en el tema:

Quería renombrar una tabla de la base de datos Access a través de código, mediante una orden de SQL, como las INSERT, UPDATE,...

Primero, lo probé empleando el phpmyadmin para que me diera el SQL. Al realizarlo, me dió el siguiente SQL:

ALTER nombreAntiguoTABLA RENAME nombreNuevoTABLA

Entonces, me fuí al archivo .ASP dónde quería que se ejecutara el cambio de nombre de la tabla. Y puse la orden SQL mencionada después de abrir conexión y todo lo necesario:

...conexion.EXECUTE("ALTER nombreAntiguoTABLA RENAME nombreNuevoTABLA")

Pero al momento de ejecutarlo en el explorador me da error. Como que no acepta el SQL tal como está.
En un manual que tengo, para la orden de ALTER no viene nada referente al RENAME. Luego ¿no se puede emplear?

¿Es un problema sólo para bd de Access?
¿No me es posible, entonces, renombrar la tabla de este modo?
¿Por qué con el phpmyadmin va bien y con el ASP no?

Saludos,

zacktagnan.
=================================================
  #2 (permalink)  
Antiguo 27/03/2006, 08:04
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 7 meses
Puntos: 18
es ALTER TABLE nombretabla
  #3 (permalink)  
Antiguo 28/03/2006, 02:17
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años
Puntos: 3
Si, es verdad a la hora de escribir el mensaje me confundí. Pero ese no es el problema.

Yo lo que tengo en el código es esto:

Código:
<%
Dim conHJ_renomTabla
	Set conHJ_renomTabla = Server.CreateObject("ADODB.connection")
	conHJ_renomTabla.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("..\db\d6HendayaJavier6b_00.mdb")
	conHJ_renomTabla.Execute("ALTER TABLE accesossos RENAME accesoszzzz")
	conHJ_renomTabla.Close
	Set conHJ_renomTabla = Nothing
%>
Y al ejecutar en el navegador me da el siguiente error:

Código:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la instrucción ALTER TABLE.
/prueba_Calendar/admin/admin/pruebaALTER.asp, línea 16

Eso es lo que pasa. ¿Alguna sugerencia?
¿Alguien a renombrado alguna vez una tabla por ASP y le ha salido bien, y me puede decir como lo hizo?

Saludos,

zacktagnan.
===================================
  #4 (permalink)  
Antiguo 28/03/2006, 02:23
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 19 años, 2 meses
Puntos: 0
Prueba con RENAME accesossos TO accesoszzzz a ver si funciona. ciao
  #5 (permalink)  
Antiguo 28/03/2006, 03:07
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años
Puntos: 3
Nada. He corregido poniendo:

Código:
<%
Dim conHJ_renomTabla
	Set conHJ_renomTabla = Server.CreateObject("ADODB.connection")
	conHJ_renomTabla.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("..\db\d6HendayaJavier6b_00.mdb")
	conHJ_renomTabla.Execute("ALTER TABLE accesossos RENAME TO accesoszzzz")
	conHJ_renomTabla.Close
	Set conHJ_renomTabla = Nothing
%>
Y me sigue dando:

Código:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la instrucción ALTER TABLE.
/prueba_Calendar/admin/admin/pruebaALTER.asp, línea 16

Y he puesto:

Código:
<%
Dim conHJ_renomTabla
	Set conHJ_renomTabla = Server.CreateObject("ADODB.connection")
	conHJ_renomTabla.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("..\db\d6HendayaJavier6b_00.mdb")
	conHJ_renomTabla.Execute("RENAME accesossos TO accesoszzzz")
	conHJ_renomTabla.Close
	Set conHJ_renomTabla = Nothing
%>
Y me dice:

Código:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Instrucción SQL no válida; se esperaba 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' o 'UPDATE'.
Pues, eso...

Saludos,

zacktagnan.
============================================
  #6 (permalink)  
Antiguo 28/03/2006, 04:40
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 7 meses
Puntos: 18
Rename column(s) in a table
(NEW in Oracle 9i Release 2)(nada de access, ni nada de nada, excepto...)

Syntax #1

Starting in Oracle 9i Release 2, you can now rename a column.

To rename a column in an existing table, the ALTER TABLE syntax is:

ALTER TABLE table_name
RENAME COLUMN old_name to new_name;

For example:

ALTER TABLE supplier
RENAME COLUMN supplier_name to sname;

This will rename the column called supplier_name to sname.

Última edición por trasgukabi; 28/03/2006 a las 04:56
  #7 (permalink)  
Antiguo 28/03/2006, 05:46
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años
Puntos: 3
Pero yo no quiero renombrar una COLUMNA de la tabla sino renombrar la TABLA.
  #8 (permalink)  
Antiguo 29/03/2006, 07:21
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 7 meses
Puntos: 18
ya, pero si no se puede así por las bravas....
usa la imaginación

a lo que me refería era que en toda la documentación que he encontrado RENAME iba indefectiblemente con COLUMN. Saca de ahí tus conclusiones.
  #9 (permalink)  
Antiguo 30/03/2006, 00:36
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años
Puntos: 3
Puede que peque de corto pero ¿quieres decir?:

- que no se puede entonces, ¿no?
(Si finalmente no se puede, no comprendo por qué en MySQL es posible usar esta opción)

- ¿Ó tratas de decirme que a través de algún truquillo, mediante el RENAME de la COLUMNA, terminaría obteniendo el mismo resultado deseado de renombrar la tabla?
(Si es así no comprendo como - Si es así explicate mejor por favor)

Saludos,

zacktagnan.
=================================================
  #10 (permalink)  
Antiguo 26/07/2006, 09:44
 
Fecha de Ingreso: julio-2006
Mensajes: 4
Antigüedad: 18 años, 9 meses
Puntos: 0
La respuesta

Hola zacktagnan, para renombrar la tabla, al menos en oracle 8i y oracle 9i la sentencia es la siguiente :
ALTER TABLE nombre_actual_tabla TO nombre_nuevo_tabla.
Espero que aun te sirva.

Bye.
  #11 (permalink)  
Antiguo 08/08/2006, 11:34
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años
Puntos: 3
Gracias dilupita por la sugerencia que trataré de ver si en Access funciona bien. Aunque es algo que ya solucioné de otra manera. Pero si funciona me podrá servir para otra ocasión.

Saludos,

zacktagnan.
=============================================
  #12 (permalink)  
Antiguo 23/01/2009, 04:18
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Renombrar Tabla de la BD

Si lo haces desde MySql , después la aplicación te escupe la intrucción que ha lanzado,
y para renombrar una tabla sería tal que así

RENAME TABLE `baseDatos`.`nombreTabla` TO `baseDatos`.`nuevoNombreTabla` ;
  #13 (permalink)  
Antiguo 23/01/2009, 08:54
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: Renombrar Tabla de la BD

Me imagino que 3 años depués esto se habrá solucionado; vamos a cerrar el tema, favor de no revivir posts viejos.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:18.