Как я могу скопировать файл моей базы данных (с помощью команды sql существующие) - PullRequest
0 голосов
/ 07 января 2019

Я могу попытаться опубликовать свое приложение, но у меня есть 2 проблемы: во-первых, я не могу создать базу данных с этим кодом

if not exists(select * from sys.databases where name = 'deneme1db') 
begin 
    CREATE DATABASE deneme1db ON PRIMARY 
    (NAME = deneme1db,FILENAME = 'C:\\deneme1db.mdf',
     SIZE = 5MB, MAXSIZE = 10MB, FILEGROWTH = 10%) 
     LOG ON (NAME = deneme1db_log, FILENAME = 'C:\\deneme1db_log.ldf',
     SIZE = 1MB, MAXSIZE = 10MB, FILEGROWTH = 10%) 
 end

Я получаю эту ошибку

Сообщение 5123, Уровень 16, Состояние 1, Строка 1
CREATE FILE обнаружил ошибку операционной системы 5 (доступ запрещен) при попытке открыть или создать физический файл 'C: \ deneme1db.mdf'.

Сообщение 1802, Уровень 16, Состояние 4, Строка 1
СОЗДАТЬ БАЗУ ДАННЫХ не удалось. Некоторые имена файлов не могут быть созданы. Проверьте связанные ошибки.

Моя вторая ошибка в реестре. Я пытаюсь запустить это

string[] sql = (string[])Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Microsoft")
       .OpenSubKey("Microsoft SQL Server").GetValue("InstalledInstances");
 var ar = (from s in sql where s.Contains("SQLEXPRESS") select s ).FirstOrDefault();
 if(ar==null)
 {
     label1.Text = "no value";
 }
 else
 {
     label1.Text = "find value";
 }

string[] sql каждый раз возвращает ноль, но если я изменяю 32-битный предпочтение из кода свойств сборки, запускается, но не может измениться при настройке

1 Ответ

0 голосов
/ 07 января 2019

я могу решить мою первую проблему, просто изменив местоположение базы данных

FILENAME = 'C:\select your database location\deneme1db.mdf 

Для второй проблемы

OpenSubKey () возвращает ноль для раздела реестра, который я вижу в regedit.exe

...