Violation of PRIMARY KEY constraint

Violation of PRIMARY KEY constraint ‘PK_TABLA’. Cannot insert duplicate key in object ‘dbo.TABLA’.
The statement has been terminated.

 

La solución es:

DBCC CHECKTABLE (‘TABLA’)

GO
DBCC DBREINDEX (‘TABLA’)

 

o si ni da ningun resultado

ante un mensaje que puede salir

Msg 2627, Level 14, State 1, Line 1
Violation of PRIMARY KEY constraint ‘PK_tabla’. Cannot insert duplicate key in object ‘dbo.tabla’.
The statement has been terminated.

prueba con

DBCC CHECKIDENT (‘tabla’)
DBCC CHECKIDENT (‘tabla’, RESEED).

WMI error al desinstalar Sqlserver 2008

Detenga el servicio WMI:
Ir a Inicio / Ejecutar, escriba cmd en la pantalla que se abre tipo:
net stop winmgmt

Cambiar el nombre de la carpeta en la que:
C: \ WINDOWS \ system32 \ wbem \ repositorio
Ponga el nombre de la carpeta como Repository_Old si la carpeta es el nombre de sistema operativo no puede encontrar el repositorio de WMI.
Esto forzará al sistema operacianal para reconstruir el repositorio automáticamente la próxima vez que usted necesita para acceder a la información en WMI.

A continuación, reinicie el servicio WMI
Ir a Inicio / Ejecutar, escriba cmd en la pantalla que se abre tipo:
net start winmgmt
Si noarranca, reinicie el PC.

Particionar tabla SQL Server, y llenar automaticamente con registros

CREATE TABLE tablanormal
(
llave bigint primary key,
dato varchar(15)
);

CREATE TABLE tablaparticionada
(
llave bigint,
dato varchar(15)
);

Alter Database mibase
Add FileGroup [part_1_100000]
Alter Database mibase
Add FileGroup [part_100001_200000]
Alter Database mibase
Add FileGroup [part_200001_300000]
Alter Database mibase
Add FileGroup [part_300001_400000]
Alter Database mibase
Add FileGroup [part_400001_500000]
Alter Database mibase
Add FileGroup [part_500001_600000]
Alter Database mibase
Add FileGroup [part_600001_700000]
Alter Database mibase
Add FileGroup [part_700001_800000]
Alter Database mibase
Add FileGroup [part_800001_900000]
Alter Database mibase
Add FileGroup [part_900001_1000000]
Alter Database mibase
Add FileGroup [part_1000001_1500000]
Alter Database mibase
Add FileGroup [part_1500001_2000000]
Alter Database mibase
Add FileGroup [part_2000001_2500000]
Alter Database mibase
Add FileGroup [part_2500001_3000000]
Alter Database mibase
Add FileGroup [part_3000001_3500000]
Alter Database mibase
Add FileGroup [part_3500001_4000000]
Alter Database mibase
Add FileGroup [part_4000001_4500000]
Alter Database mibase
Add FileGroup [part_4500001_5000000]
Alter Database mibase
Add FileGroup [part_5000001_5500000]

—— >>>>>> Descargar Archivo

Particionar tabla Oracle, y llenar automaticamente con registros

Para fragmentar horizontal una tabla y llenar automaticamente .
create table tablanormal
(
llave integer,dato varchar(10)
);
create table tablaparticionada
(
llave integer,dato varchar(10)
);

partition by range(llave)
(
partition p0 values less than (100000) ,
partition p1 values less than (200000) ,
partition p2 values less than (300000) ,
partition p3 values less than (400000) ,
partition p4 values less than (500000) ,
partition p5 values less than (600000) ,
partition p6 values less than (700000) ,

partition p7 values less than (800000) ,
partition p8 values less than (900000) ,
partition p9 values less than (1000001)
);

CREATE OR REPLACE PROCEDURE insertartablanormal(valor IN NUMBER) AS
BEGIN
declare
v number(7) := 1;
dato     varchar2(10);

begin
while v <= valor loop

insert into tablanormal (llave, dato) values (v, ‘dato’);
v := v + 1;

end loop;
end;
end insertar_particionada;

CREATE OR REPLACE PROCEDURE insertatablaparticionada(valor IN NUMBER) AS
BEGIN
declare
v number(7) := 1;
dato     varchar2(10);

begin
while v <= valor loop

insert into particionada (llave, dato) values (v, ‘dato’);
v := v + 1;

end loop;
end;
end insertar_particionada;

truncate tablanormal;
truncate tablaparticionada;
select insertatablanormal(1000000);
select insertatablaparticionada(1000000);
SELECT * FROM tablanormal ;
SELECT * FROM tablaparticionada;
UPDATE tablanormal SET dato = ’00ABCDEFGHI123′;
UPDATE tablaparticionada SET dato = ‘AAABCDEFG12345’;
DELETE FROM tablanormal;
DELETE FROM tablaparticionada;

Continue reading

Particionar tabla postgres, y llenar automaticamente con registros

El siguiente script es para crear una tabla fragmentada horizontalmente y llenar automaticamente con un procedimiento almacenado.

–Postgres
create table tablanormal(llave bigint primary key, dato varchar(15));
create table tablaparticionada(llave bigint primary key, dato varchar(15));

–crea tablas hijas
create table tablaparticionada1(check (llave>=0 and llave<100000))inherits(tablaparticionada);
create table tablaparticionada2(check (llave>=100000 and llave<200000))inherits( tablaparticionada );
create table tablaparticionada3(check (llave>=200000 and llave<300000))inherits( tablaparticionada );
create table tablaparticionada4(check (llave>=300000 and llave<400000))inherits( tablaparticionada );
create table tablaparticionada5(check (llave>=400000 and llave<500000))inherits( tablaparticionada );
create table tablaparticionada6(check (llave>=500000 and llave<600000))inherits( tablaparticionada );
create table tablaparticionada7(check (llave>=600000 and llave<700000))inherits( tablaparticionada );
create table tablaparticionada8(check (llave>=700000 and llave<800000))inherits( tablaparticionada );
create table tablaparticionada9(check (llave>=800000 and llave<900000))inherits( tablaparticionada );
create table tablaparticionada10(check (llave>=900000 and llave<1000000))inherits( tablaparticionada );
create table tablaparticionada11(check (llave>=1000000 and llave<2000000))inherits( tablaparticionada );
create table tablaparticionada12(check (llave>=2000000 and llave<3000000))inherits( tablaparticionada );
create table tablaparticionada13(check (llave>=3000000 and llave<4000000))inherits( tablaparticionada );
create table tablaparticionada14(check (llave>=4000000 and llave<5000000))inherits( tablaparticionada );
create table tablaparticionada15(check (llave>=5000000 and llave<6000001))inherits( tablaparticionada );

–crear reglas
create or replace rule rtablaparticionada1 as
on insert to  tablaparticionada  where (llave >0 and llave<100000) do instead insert into tablaparticionada1 values(new.llave,new.dato);

create or replace rule rtablaparticionada2 as
on insert to  tablaparticionada  where (llave >=100000 and llave<200000) do instead insert into tablaparticionada2 values(new.llave,new.dato);

create or replace rule rtablaparticionada3 as
on insert to  tablaparticionada  where (llave >=200000 and llave<300000) do instead insert into tablaparticionada3 values(new.llave,new.dato);

create or replace rule rtablaparticionada4 as
on insert to  tablaparticionada  where (llave >=300000 and llave<400000) do instead insert into tablaparticionada4 values(new.llave,new.dato);

create or replace rule rtablaparticionada5 as
on insert to  tablaparticionada  where (llave >=400000 and llave<500000) do instead insert into tablaparticionada5 values(new.llave,new.dato);

create or replace rule rtablaparticionada6 as
on insert to  tablaparticionada  where (llave >=500000 and llave<600000) do instead insert into tablaparticionada6 values(new.llave,new.dato);

create or replace rule rtablaparticionada7 as
on insert to  tablaparticionada  where (llave >=600000 and llave<700000) do instead insert into tablaparticionada7 values(new.llave,new.dato);

create or replace rule rtablaparticionada8 as
on insert to  tablaparticionada  where (llave >=700000 and llave<800000) do instead insert into tablaparticionada8 values(new.llave,new.dato);

create or replace rule rtablaparticionada9 as
on insert to  tablaparticionada  where (llave >=800000 and llave<900000) do instead insert into tablaparticionada9 values(new.llave,new.dato);

create or replace rule rtablaparticionada10 as
on insert to  tablaparticionada  where (llave >=900000 and llave<1000000) do instead insert into tablaparticionada10 values(new.llave,new.dato);

create or replace rule rtablaparticionada11 as
on insert to  tablaparticionada  where (llave >=1000000 and llave<2000000) do instead insert into tablaparticionada11 values(new.llave,new.dato);

create or replace rule rtablaparticionada12 as
on insert to  tablaparticionada  where (llave >=2000000 and llave<3000000) do instead insert into tablaparticionada12 values(new.llave,new.dato);

create or replace rule rtablaparticionada13 as
on insert to  tablaparticionada  where (llave >=3000000 and llave<4000000) do instead insert into tablaparticionada13 values(new.llave,new.dato);

create or replace rule rtablaparticionada14 as
on insert to  tablaparticionada  where (llave >=4000000 and llave<5000000) do instead insert into tablaparticionada14 values(new.llave,new.dato);

create or replace rule rtablaparticionada15 as
on insert to  tablaparticionada  where (llave >=5000000 and llave<6000001) do instead insert into tablaparticionada15 values(new.llave,new.dato);

—–para actualizar

create or replace rule ruptablaparticionada1 as
on update to  tablaparticionada  where (old.llave >=0 and old.llave<100000) do instead update   tablaparticionada1  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada2 as
on update to  tablaparticionada  where (old.llave >=100000 and old.llave<200000) do instead update   tablaparticionada2  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada3 as
on update to  tablaparticionada  where (old.llave >=200000 and old.llave<300000) do instead update   tablaparticionada3  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada4 as
on update to  tablaparticionada  where (old.llave >=300000 and old.llave<400000) do instead update   tablaparticionada4  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada5 as
on update to  tablaparticionada  where (old.llave >=400000 and old.llave<500000) do instead update   tablaparticionada5  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada6 as
on update to  tablaparticionada  where (old.llave >=500000 and old.llave<600000) do instead update   tablaparticionada6  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada7 as
on update to  tablaparticionada  where (old.llave >=600000 and old.llave<700000) do instead update   tablaparticionada7  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada8 as
on update to  tablaparticionada  where (old.llave >=700000 and old.llave<800000) do instead update   tablaparticionada8  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada9 as
on update to  tablaparticionada  where (old.llave >=800000 and old.llave<900000) do instead update   tablaparticionada9  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada10 as
on update to  tablaparticionada  where (old.llave >=900000 and old.llave<1000000) do instead update   tablaparticionada10  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada11 as
on update to  tablaparticionada  where (old.llave >=1000000 and old.llave<2000000) do instead update   tablaparticionada11  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada12 as
on update to  tablaparticionada  where (old.llave >=2000000 and old.llave<3000000) do instead update   tablaparticionada12  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada13 as
on update to  tablaparticionada  where (old.llave >=3000000 and old.llave<4000000) do instead update   tablaparticionada13  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada14 as
on update to  tablaparticionada  where (old.llave >=4000000 and old.llave<5000000) do instead update   tablaparticionada14  set dato= new.dato where old.llave=llave;

create or replace rule ruptablaparticionada15 as
on update to  tablaparticionada  where (old.llave >=5000000 and old.llave<6000001) do instead update   tablaparticionada15  set dato= new.dato where old.llave=llave;

CREATE OR REPLACE FUNCTION insertatablanormal(v bigint)
RETURNS void AS
$body$
DECLARE
i bigint;
BEGIN
for i in 1..v loop
insert into tablanormal values (i, ‘1234567890abcd’);
end loop;
END;
$body$
LANGUAGE ‘plpgsql’ VOLATILE;

CREATE OR REPLACE FUNCTION insertatablaparticionada(v bigint)
RETURNS void AS
$body$
DECLARE
i bigint;
BEGIN
for i in 1..v loop
insert into tablaparticionada values (i, ‘1234567890abcd’);
end loop;
END;
$body$
LANGUAGE ‘plpgsql’ VOLATILE;

truncate tablanormal;
truncate tablaparticionada;
select insertatablanormal(1000000);
select insertatablaparticionada(1000000);
SELECT * FROM tablanormal ;
SELECT * FROM tablaparticionada;
UPDATE tablanormal SET dato = ’00ABCDEFGHI123′;
UPDATE tablaparticionada SET dato = ‘AAABCDEFG12345’;
DELETE FROM tablanormal;
DELETE FROM tablaparticionada;

Continue reading

Cannot send session cache limiter – headers already sent

Warning: Cannot send session cache limiter – headers already sent (output started at /home/httpd/vhosts/martinalia.com/httpdocs/inc-public.php3(20) : eval()’d code:7) in /home/httpd/vhosts/martinalia.com/httpdocs/inc-public.php3(20) : eval()’d code on line 11

 

La solución, es que la variable de wordpress no debe tener doble // verificar y se soluccionara el oroblema.

Java fecha y hora zona horaria

En una linea de configuración en el web.xml soluciono mi problema al tratar de que cuadre la misma fecha de la base de datos y loa impresión en la pagina web, trabajo con RichFaces, y se soluciono con setear en el web.xml del proyecto:

en la base

db 2013-10-19:10:50

en la pagina web

apl 2013-10-19:15:58

<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>

 

esto guarde y empeso a desplegar la hora que se esta en la base de datos.

CLAVES DE POSTGRES ORIGINAL

Para saber la clave de postgres original funciona asi
–clave original de un usuario postgres
select md5(‘clavespostgres’);

Attrib “a tu unidad flash”

Si tu tienes un problema de el memory y miras que esta lleno y fue causa de un virus, aplica lo siguiente,

menu inicio, ejecutar, edita “cmd”

aparecera la consola  y edita   F: entrar  (la unidad del memory es F)

y escribe lo siguiente

F:\> attrib /s /d -h -s -r -a *.*

Para aumentar el cache de sesión editamos lo siguiente

Editar el php.ini
sudo nano /etc/php5/apache2/php.ini
Encontrar el parámetro session.cache_expire (use la combinación ctrl+w en nano)
Modificar el valor por uno a gusto, en mi caso añadí un cero al final, para aumentar de 3 a 30 minutos (180 a 1800 segundos). y guardarlo.
Reiniciar Apache:
sudo /etc/init.d/apache2 restart