Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MSDE использование osql.exe [MSSQL]


Rimdus ©   (2009-05-08 18:07:00) 

Всем, Добрый день!

Никак не могу понять почему следующий код отрабатывает в QueryAnalizer, а при выполнении через osql.exe выдает ошибку.

Database 'Silver' already exists. (почему-то не может удалить БД)

USE Master
GO
IF DB_ID('Silver') <> NULL
drop database Silver
GO
CREATE DATABASE Silver
ON
(NAME = Silver_dat,
  FILENAME = 'd:\Silverdat.mdf',
  SIZE = 25,
  MAXSIZE = 100,
  FILEGROWTH = 5 )
LOG ON
( NAME = 'Silver_log',
  FILENAME = 'd:\Silverlog.ldf',
  SIZE = 5,
  MAXSIZE = 25,
  FILEGROWTH = 5 )
GO


Ega23   (2009-05-12 11:44:00) [1]

Для NULL не работает такое сравнение. Используй
if Value IS NULL
или
if Value IS NOT NULL


Anatoly Podgoretsky   (2009-05-08 19:59:00) [2]

USE Master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'Silver')
DROP DATABASE [Silver]


Вот такой скрипт генерирует SSMS, для MSDE проверить с помощью EM


IS NULL   (2009-05-08 19:38:00) [3]


> IF DB_ID('Silver') <>NULL


Rimdus   (2009-05-08 19:01:00) [4]

Собственно удалить можно так:
USE Master
GO
drop database Silver
GO

LOG:
1> 2> 1> 2> 3> 4> 5> Msg 3738, Level 0, State 1, Server RIMDUSBASE, Line 3
Deleting database file 'd:\Silverlog.ldf'.
Msg 3738, Level 0, State 1, Server RIMDUSBASE, Line 3
Deleting database file 'd:\Silverdat.mdf'.
1>

Получается что вызов DB_ID('Silver')равен NULL при существующей базе. Как-то это не верно (


Rimdus   (2009-05-08 18:54:00) [5]

Сократил. Отработало без ошибок, НО база НЕ удалилась (((.
Пользователь, под которым выполняется код - sa, и в osql и в Аналайзере конект под sa.


Anatoly Podgoretsky   (2009-05-08 18:42:00) [6]

Ты уверен, что именно не хочет удалять?
Сократи код до удаления и скажи результат.


Наверх

Титульная страница Поиск, карта сайта Написать письмо