Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

error en php al insertar datos a 3 dbs

Estas en el tema de error en php al insertar datos a 3 dbs en el foro de SQL Server en Foros del Web. Hola amigos, ayudenme con este registro que estoy implementando en php conectado a una base de datos sql server 2005 este es mi registro.php Código ...
  #1 (permalink)  
Antiguo 01/06/2009, 18:11
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta error en php al insertar datos a 3 dbs

Hola amigos, ayudenme con este registro que estoy implementando en php conectado a una base de datos sql server 2005

este es mi registro.php

Código PHP:
if ($Error!=1){
$msquery2 "SET IDENTITY_INSERT Datos1.dbo.REGISTRO ON";
$msquery3 "INSERT INTO Datos1.dbo.REGISTRO (memb_guid,memb,memb__pwd)
VALUES ('1','$ps_loginname','$ps_password')"
;
$msquery4 "SET IDENTITY_INSERT Datos2.dbo.REGISTRO ON";
$msquery5 "INSERT INTO Datos2.dbo.REGISTRO (memb_guid,memb,memb__pwd)
VALUES ('1','$ps_loginname','$ps_password')"
;
$msquery6 "SET IDENTITY_INSERT Datos3.dbo.REGISTRO ON";
$msquery7 "INSERT INTO Datos3.dbo.REGISTRO  (memb_guid,memb,memb__pwd)
VALUES ('1','$ps_loginname','$ps_password')"
;

$msresultsmssql_query($msquery2);
$msresultsmssql_query($msquery3);
$msresultsmssql_query($msquery4);
$msresultsmssql_query($msquery5);
$msresultsmssql_query($msquery6);
$msresultsmssql_query($msquery7);
?> 
Inserto un registro en 3 database al mismo tiempo, todas las tablas de REGISTRO tiene la llave en el memb q es el login de cada usuario.

El error que me sale es bastante:

Código PHP:
Cannot insert explicit value for identity column in table 'REGISTRO' when IDENTITY_INSERT is set to OFF
Table 'Datos3.dbo.REGISTRO' does not have the identity propertyCannot perform SET operation. (severity 16in ..... 
espero su ayuda es urgente :(


saludos
__________________
diseniando ........
  #2 (permalink)  
Antiguo 01/06/2009, 18:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: error en php al insertar datos a 3 dbs

El error no es de PHP si no de tu SQL Server, al parecer tienes desactivada alguna directiva y te falta configurarlo.

Saludos.
  #3 (permalink)  
Antiguo 01/06/2009, 22:28
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: error en php al insertar datos a 3 dbs

Cita:
Iniciado por GatorV Ver Mensaje
El error no es de PHP si no de tu SQL Server, al parecer tienes desactivada alguna directiva y te falta configurarlo.

Saludos.
GatorV gracias x responder pero dime cual directiva puede ser que no est ebien configurado ..

Gracias
__________________
diseniando ........
  #4 (permalink)  
Antiguo 02/06/2009, 05:02
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: error en php al insertar datos a 3 dbs

Prueba con esto:

if ($Error!=1){
$msquery2 = "SET IDENTITY_INSERT Datos1.dbo.REGISTRO ON";
$msquery3 = "INSERT INTO Datos1.dbo.REGISTRO (memb_guid,memb,memb__pwd)
VALUES ('1','$ps_loginname','$ps_password')";

$msquery? = "SET IDENTITY_INSERT Datos1.dbo.REGISTRO OFF";

$msquery4 = "SET IDENTITY_INSERT Datos2.dbo.REGISTRO ON";
$msquery5 = "INSERT INTO Datos2.dbo.REGISTRO (memb_guid,memb,memb__pwd)
VALUES ('1','$ps_loginname','$ps_password')";

$msquery? = "SET IDENTITY_INSERT Datos2.dbo.REGISTRO OFF";

$msquery6 = "SET IDENTITY_INSERT Datos3.dbo.REGISTRO ON";
$msquery7 = "INSERT INTO Datos3.dbo.REGISTRO (memb_guid,memb,memb__pwd)
VALUES ('1','$ps_loginname','$ps_password')";

$msquery? = "SET IDENTITY_INSERT Datos3.dbo.REGISTRO OFF";

$msresults= mssql_query($msquery2);
$msresults= mssql_query($msquery3);
$msresults= mssql_query($msquery4);
$msresults= mssql_query($msquery5);
$msresults= mssql_query($msquery6);
$msresults= mssql_query($msquery7);
?>


En: msdn.microsoft.com/es-es/library/ms188059(SQL.90).aspx
comentan que sólo se permite un SET IDENTITY_INSERT ON por sesión...

Prueba y nos comentas.

Saludos
  #5 (permalink)  
Antiguo 05/06/2009, 12:07
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: error en php al insertar datos a 3 dbs

holas gracias, el problema era que mis tablas tenian el memb_guid distintos ya que tenia usuarios registrados ..

lo que hize fue ordenar esos memb_guid desde el 1 hasta el 4344 y de esta forma ya se puede agregar a las 3 tablas sin ningun error, el problema ahora es que al agregar los nuevo s miembros se le agrega con el memb_guid =1 y me gustaria que se agregue con el memb_guid = 4345 , 3346 en forma consecutiva .. para q este ordenado ..

cuando abro cada tabla los usuarios se ordenan de acuerdo a "memb" desde la A hasta la Z, y tambien en el memb_guid esta ordenado 1,2 , 4 ... hasta el 4344, al insertar un nuevo registro este aparece con el memb_guid=1 :(

saludos
__________________
diseniando ........
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 15:54.