Foros del Web » Programando para Internet » PHP »

Error al llamar a sql Server

Estas en el tema de Error al llamar a sql Server en el foro de PHP en Foros del Web. Hola, que tal. Estoy mirando de llamar a una base de datos sql Server, de esta manera: $dbc = new COM("ADODB.Connection"); $dbc->Open("Provider=SQLOLEDB; Data Source=...; ". ...
  #1 (permalink)  
Antiguo 24/03/2004, 06:56
 
Fecha de Ingreso: julio-2001
Ubicación: Barcelona
Mensajes: 922
Antigüedad: 16 años, 5 meses
Puntos: 1
Error al llamar a sql Server

Hola, que tal.


Estoy mirando de llamar a una base de datos sql Server, de esta manera:

$dbc = new COM("ADODB.Connection");
$dbc->Open("Provider=SQLOLEDB; Data Source=...; ". "Initial Catalog=...; User Id=...; Password=...");

$rs = $dbc->Execute("select * from diccionario");

$rs->Close();
$rs = null;
$dbc->Close();
$dbc = null;


Y me da el siguiente error:

Warning: (null)(): Invoke() failed: Ocurrió una excepción. Source: Proveedor de Microsoft OLE DB para SQL Server Description: Invalid object name 'diccionario'. in C:\Inetpub\wwwroot\...\contenidos\diccionario.php on line 220

Fatal error: Call to a member function on a non-object in C:\Inetpub\wwwroot\...\contenidos\diccionario.php on line 221

Donde diccionario es el nombre de la tabla.
Alguna idea de por donde van los tiros?

gracias
  #2 (permalink)  
Antiguo 24/03/2004, 07:06
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
parece decir que la tabla diccionario no existe en la base de datos
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 24/03/2004, 07:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece que el nombre de esa tabla no es correcto o no existe (revisalo a ver si en la definición de tu tabla lo tienes de otra forma .. )

(comentario: PHP dispone de las funciones mssql_xxxx() para usar MS SQL server directo .. sólo requieres activar la extensión: php_mssql.dll en tu php.ini (supongo que usas windows?) ...)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 24/03/2004, 07:27
 
Fecha de Ingreso: julio-2001
Ubicación: Barcelona
Mensajes: 922
Antigüedad: 16 años, 5 meses
Puntos: 1
Gracias por las respuestas.

Era lo que me imaginaba. Preguntaré a ver si existe ya esa tabla en la base de datos.
La cuestión es que tengo que cambiar un codigo preparado para trabajar con mysql para que trabaje con sql server. Y andamos un poco perdidos. No es mi fuerte php, así que no se si representa mucho trabajo el cambio.

Por ejemplo, ellos para conectar utilizan:

$sql = "select * from diccionario where titulo like '".$id."%'";
$consulta = mysql_query($sql,$conexion);
$n = mysql_num_rows($consulta);


Que por lo que veo utiliza métodos exclusivos de mysql. Me bastaría con reemplazar estos metodos de mysql por los de mssql?

Cualquier ayuda será bienvenida.

saludos

Última edición por abuenog; 24/03/2004 a las 07:29
  #5 (permalink)  
Antiguo 24/03/2004, 08:03
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
las funciones son muy similares de hecho parece que la diferencia es sólo que donde dice mysql_xxx debe ir mssql_xxx. Obviamente el dialecto de sql usado es distinto.

En windows, para activar el soporte de sql server basta con entrar al php.ini y descomentar (quitar el ; inicial) la linea que dice: ;extension=php_mssql.dll y luego reiniciar Apache.
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 03:34.