Tengo 2 archivos..
1 BAT que tengo que ejecutar que me hará todo un proceso de "instalacion" de una base de datos..
El archivo .Bat tiene lo siguiente:
mkdir c:\dce05
osql -S .\SQLEXPRESS -E -i "script_datos.sql"
pause
EL archivo script_datos.sql es el encargado de crear la base de datos y bla bla bla.. ok.. miren el tema que tiene ese archivo:
Código
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'dce05_ejemplos_estrella1') DROP DATABASE [dce05_ejemplos_estrella1] GO CREATE DATABASE [dce05_ejemplos_estrella1] ON (NAME = N'dce05_ejemplos_estrella1_Data', FILENAME = N'c:\dce05\dce05_ejemplos_estrella1_Data.MDF', SIZE = 2, FILEGROWTH = 10%) LOG ON ( NAME = N'dce05_ejemplos_estrella1_Log', FILENAME = N'c:\dce05\dce05_ejemplos_estrella1_Log.LDF', SIZE = 1, FILEGROWTH = 10%) COLLATE SQL_Latin1_General_CP1_CI_AS GO USE [dce05_ejemplos_estrella1] GO /* CREACION DE TABLAS */ CREATE TABLE [dbo].[Productos] ( [Codigo] [INT] IDENTITY(1,1) NOT NULL, [Descripcion] [VARCHAR](30) NOT NULL, [Precio] [FLOAT] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[ItemsVenta] ( [Codigo] [INT] IDENTITY(1,1) NOT NULL, [CodigoVenta] [INT], [CodigoProducto] [INT], [Cantidad] [INT] DEFAULT 0 ) ON [PRIMARY] CREATE TABLE [dbo].[Ventas] ( [Codigo] [INT] IDENTITY(1,1) NOT NULL, [Fecha] [datetime] DEFAULT getdate() ) ON [PRIMARY] GO DELETE [Ventas] DELETE [ItemsVenta] DELETE [Productos] GO /* CREACION DE CONSTRAINTS */ ALTER TABLE Productos ADD CONSTRAINT PK_Productos PRIMARY KEY (Codigo) ALTER TABLE ItemsVenta ADD CONSTRAINT PK_ItemsVenta PRIMARY KEY (Codigo) ALTER TABLE Ventas ADD CONSTRAINT PK_Venta PRIMARY KEY (Codigo) ALTER TABLE ItemsVenta ADD CONSTRAINT FK_ItemsVenta_Productos FOREIGN KEY (CodigoProducto) REFERENCES Productos (Codigo) ALTER TABLE ItemsVenta ADD CONSTRAINT FK_ItemsVenta_Ventas FOREIGN KEY (CodigoVenta) REFERENCES Ventas (Codigo) GO INSERT INTO Productos (Descripcion, Precio) VALUES ('MotherBoard PC333', 45.30); INSERT INTO Productos (Descripcion, Precio) VALUES ('Placa de Red 100 Mbps', 15.75); INSERT INTO Productos (Descripcion, Precio) VALUES ('Microprocesador 1GHz', 112.90); INSERT INTO Productos (Descripcion, Precio) VALUES ('Disco Rígido 7200 rpm', 84.10); INSERT INTO Productos (Descripcion, Precio) VALUES ('Access Point Wi-Fi 802.11g', 66.40); INSERT INTO Productos (Descripcion, Precio) VALUES ('Placa de Red PCMCIA', 25.00); INSERT INTO Productos (Descripcion, Precio) VALUES ('Hub USB 4 Puertos', 12.80); INSERT INTO Productos (Descripcion, Precio) VALUES ('Mouse óptico', 33.60); INSERT INTO Productos (Descripcion, Precio) VALUES ('Monitor 17 pulgadas', 175.50); INSERT INTO Productos (Descripcion, Precio) VALUES ('Gabinete Mid-Tower', 35.30); INSERT INTO Productos (Descripcion, Precio) VALUES ('Teclado Internet', 25.80); INSERT INTO Productos (Descripcion, Precio) VALUES ('Placa de Video 128 MB', 45.70); INSERT INTO Productos (Descripcion, Precio) VALUES ('DVD-ROM 8x', 45.00); GO
Pero miren el PROBLEMA que hay:
Citar
C:\Users\Noel\Desktop\Estrellas\1\Ejemplo\db>mkdir c:\dce05
C:\Users\Noel\Desktop\Estrellas\1\Ejemplo\db>osql -S .\SQLEXPRESS -E -i "script_
datos.sql"
1> 2> 3> 1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> Mensaje 1803, Nivel 16, Estado 1
, Servidor NOEL-NOTEBOOK\SQLEXPRESS, Línea 2
Error de la instrucción CREATE DATABASE. El archivo principal debe ser de al
menos 3 MB para que pueda almacenar una copia de la base de datos de modelos.
1> 2> 3> Mensaje 911, Nivel 16, Estado 1, Servidor NOEL-NOTEBOOK\SQLEXPRESS, Lín
ea 2
La base de datos 'dce05_ejemplos_estrella1' no existe. Asegúrese de que ha
escrito el nombre correctamente.
1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> Mensaje 2
714, Nivel 16, Estado 6, Servidor NOEL-NOTEBOOK\SQLEXPRESS, Línea 3
Ya hay un objeto con el nombre 'Productos' en la base de datos.
1> 2> 3> 4> 5> (0 filas afectadas)
(0 filas afectadas)
(13 filas afectadas)
1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> Mensaje 1779, Nivel 1
6, Estado 1, Servidor NOEL-NOTEBOOK\SQLEXPRESS, Línea 3
La tabla 'Productos' ya tiene definida una clave principal.
Mensaje 1750, Nivel 16, Estado 1, Servidor NOEL-NOTEBOOK\SQLEXPRESS, Línea 3
No se pudo crear la restricción. Consulte los errores anteriores.
1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> (1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
(1 fila afectada)
1>
C:\Users\Noel\Desktop\Estrellas\1\Ejemplo\db>pause
Presione una tecla para continuar . . .