Как создать базу данных с помощью скрипта
Привет,
Я написал небольшое приложение в VS 2010 с помощью файла .mdf shopperDB.mdf. Я создал установочный файл в расширенном установщике и включил все предварительные условия, включая sql server express.
Установка выполняется нормально на виртуальной машине Windows XP вплоть до SQL server. Однако при запросе базы данных появляется сообщение об ошибке:
[SQLExecDirect]{SQL_ERROR}:{SQL_STATE:42000}[Microsoft][ODBC SQL Server Driver][SQL Server]Directory lookup for the file "C:\Program Files\SHOPPER\shopperDB.mdf" failed with the operating system error 2(The file specified cannot be found)
как я могу решить эту проблему, пожалуйста
Что я уже пробовал:
The Database generation script: -- Inline SQL script USE [master] GO /****** Object: Database [G:\DEPLOY PRACTICE\SHOPPER\SHOPPER\SHOPPERDB.MDF] Script Date: 16/12/2017 20:18:17 ******/ IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = N'C:\Program Files\SHOPPER\SHOPPERDB.MDF') BEGIN CREATE DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] ON PRIMARY ( NAME = N'shopperDB', FILENAME = N'C:\Program Files\SHOPPER\shopperDB.mdf' , SIZE = 2304KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'shopperDB_log', FILENAME = N'C:\Program Files\SHOPPER\shopperDB_log.ldf' , SIZE = 576KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) END GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET COMPATIBILITY_LEVEL = 100 GO IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC [C:\Program Files\SHOPPER\SHOPPERDB.MDF].[dbo].[sp_fulltext_database] @action = 'enable' end GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET ANSI_NULL_DEFAULT OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET ANSI_NULLS OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET ANSI_PADDING OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET ANSI_WARNINGS OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET ARITHABORT OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET AUTO_CLOSE ON GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET AUTO_SHRINK ON GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET AUTO_UPDATE_STATISTICS ON GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET CURSOR_CLOSE_ON_COMMIT OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET CURSOR_DEFAULT GLOBAL GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET CONCAT_NULL_YIELDS_NULL OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET NUMERIC_ROUNDABORT OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET QUOTED_IDENTIFIER OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET RECURSIVE_TRIGGERS OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET DISABLE_BROKER GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET AUTO_UPDATE_STATISTICS_ASYNC OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET DATE_CORRELATION_OPTIMIZATION OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET TRUSTWORTHY OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET ALLOW_SNAPSHOT_ISOLATION OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET PARAMETERIZATION SIMPLE GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET READ_COMMITTED_SNAPSHOT OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET HONOR_BROKER_PRIORITY OFF GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET RECOVERY SIMPLE GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET MULTI_USER GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET PAGE_VERIFY CHECKSUM GO ALTER DATABASE [C:\Program Files\SHOPPER\SHOPPERDB.MDF] SET DB_CHAINING OFF GO USE [C:\"Program Files"\"FUBUH GROUP"\SHOPPER\SHOPPERDB.MDF] GO /****** Object: Table [dbo].[bits_available] Script Date: 16/12/2017 20:18:17 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[bits_available]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[bits_available]( ............ ............ ............
[no name]
Я не читал внимательно, но одна вещь, которая привлекает мое внимание, - это путь к вашей базе данных". C:\Program файлы\SHOPPER\". Начиная с XP (если я правильно помню), больше не разрешается (без хитростей) иметь такие файлы в папке "Program Files".
PIEBALDconsult
Да, это, конечно, не кажется лучшим местом; "ProgramData" может быть лучше.