Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка при создании таблицы!  [new]
DEFENDER13
Member

Откуда:
Сообщений: 13
Всем привет! У меня такая проблема, при создании таблицы программным путем, появляется сообщение что такая таблица уже существует, хотя создаю ее впервые!!! В чем проблема может кто сталкивался?
5 апр 13, 17:20    [14141849]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Гость333
Member

Откуда:
Сообщений: 3683
DEFENDER13
В чем проблема может кто сталкивался?

Сталкивались. Проблема в том, что такая таблица уже существует.
5 апр 13, 17:22    [14141867]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
DEFENDER13
Member

Откуда:
Сообщений: 13
Да вы гений! Еще раз повторяю таблицы в базе нет, создаю ее впервые!!!!!!!!!!Запрос проходит без багов! после выполнения запроса генерируется ошибка о том что такая таблица существует!
5 апр 13, 17:24    [14141892]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Glory
Member

Откуда:
Сообщений: 104751
DEFENDER13
Да вы гений! Еще раз повторяю таблицы в базе нет, создаю ее впервые!!!!!!!!!!Запрос проходит без багов! после выполнения запроса генерируется ошибка о том что такая таблица существует!

То, что вы лично создаете ее впервые, не является гарантией того, что таблицы нет
5 апр 13, 17:26    [14141905]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
use MyDB
select * from имяэтойтаблицы
5 апр 13, 17:27    [14141917]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
DEFENDER13
Member

Откуда:
Сообщений: 13
Структура БД находиться у меня перед глазами, просматриваю ее вплоть до нажатия копки "Создать таблицу", таблицы нету!
5 апр 13, 17:28    [14141920]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
DEFENDER13,

еще раз - таблица таки есть
select OBJECT_ID('схема.Таблица','U')
5 апр 13, 17:29    [14141924]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
DEFENDER13,

а вы создатете именно там где смотрите..може у вас контекст другой ?
5 апр 13, 17:29    [14141934]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Гость333
Member

Откуда:
Сообщений: 3683
DEFENDER13
Еще раз повторяю таблицы в базе нет

Зуб даёте?

DEFENDER13
Запрос проходит без багов!

Покажите текст запроса.
5 апр 13, 17:30    [14141939]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
DEFENDER13, после обновления дерева объектов таблица "чудесным образом" появится))
5 апр 13, 17:30    [14141942]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
DEFENDER13
Member

Откуда:
Сообщений: 13
нет, именно там!
5 апр 13, 17:31    [14141948]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
на базе в списке объектов ПКМ, пункт меню "Обновить"
5 апр 13, 17:33    [14141959]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Cygapb-007
на базе в списке объектов ПКМ, пункт меню "Обновить"

Для верности, закрыть SSMS и открыть заново
5 апр 13, 17:35    [14141972]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
kain111
Member

Откуда:
Сообщений: 227
создавайте таблицу с проверкой ее существования как вам указали и не будет таких вопросов.
if exist (select OBJECT_ID('схема.Таблица','U'))
5 апр 13, 17:40    [14142011]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Гость333
Member

Откуда:
Сообщений: 3683
kain111
создавайте таблицу с проверкой ее существования как вам указали и не будет таких вопросов.
if exist (select OBJECT_ID('схема.Таблица','U'))

Это неправильная проверка, т.к. выражение exists(select null) равно "истина".
Надо так:
if OBJECT_ID('схема.Таблица','U') is null -- таблица не существует
5 апр 13, 17:52    [14142111]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
DEFENDER13
Member

Откуда:
Сообщений: 13
Обновлял постоянно, нету, создается именно в тот момент когда я выполняю запрос, и после его выполнения выдает эту ошибку
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('CREATE TABLE [dbo].['+Edit3.Text+'](');
ADOQuery1.SQL.Add('[Код] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,');
ADOQuery1.SQL.Add('[linc] [varchar](50) NULL,');
ADOQuery1.SQL.Add('[Вопрос] [varchar](5000) NULL,');
ADOQuery1.SQL.Add('[Вариант1] [varchar](500) NULL,');
ADOQuery1.SQL.Add('[Вариант2] [varchar](500) NULL,');
ADOQuery1.SQL.Add('[Вариант3] [varchar](500) NULL,');
ADOQuery1.SQL.Add('[Вариант4] [varchar](500) NULL,');
ADOQuery1.SQL.Add('[Вариант5] [varchar](500) NULL,');
ADOQuery1.SQL.Add('[Верно] [varchar](500) NULL,');
ADOQuery1.SQL.Add('[id] [varchar](50) NULL)');
ADOQuery1.ExecSQL;
5 апр 13, 18:10    [14142215]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
qwerty112
Guest
DEFENDER13,

коннект у этого ADOQuery1 - "в куда" ?
не в той БД (или не на том сервере - но это уже ваще "клиника") создаёте, в которой потом ищете, походу ...
5 апр 13, 18:18    [14142252]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
DEFENDER13
Member

Откуда:
Сообщений: 13
Коннект именно к той базе, все уже сам разобрался, всем спасибо!
5 апр 13, 18:24    [14142284]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Гость333
Member

Откуда:
Сообщений: 3683
DEFENDER13
все уже сам разобрался

И в чём была причина?
5 апр 13, 18:27    [14142297]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
DEFENDER13
Member

Откуда:
Сообщений: 13
В конце запроса Query активировал и выдавало эту ошибку.
5 апр 13, 18:34    [14142327]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
qwerty112
Guest
DEFENDER13
В конце запроса Query активировал и выдавало эту ошибку.

... "спел !" ))

автор, "стесняиссся" признатся - лучше молчал бы !
чем охинею какую-то нести ...
5 апр 13, 18:43    [14142364]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Гость333
Надо так:
if OBJECT_ID('схема.Таблица','U') is null -- таблица не существует
Это неправильное заключение!
NULL вернётся и в случае, когда таблица есть, но прав на доступ к ней у текущего пользователя нет!
Таблица как бы не существует, но схема+имя не может быть присвоено новой таблице,
ибо такая таблица на самом-то деле уже есть!
Это поведение появилось в SQL2005 и отличается от поведения SQL2000.
5 апр 13, 18:54    [14142418]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при создании таблицы!  [new]
Гость333
Member

Откуда:
Сообщений: 3683
iap
Гость333
Надо так:
if OBJECT_ID('схема.Таблица','U') is null -- таблица не существует
Это неправильное заключение!
NULL вернётся и в случае, когда таблица есть, но прав на доступ к ней у текущего пользователя нет!
Таблица как бы не существует, но схема+имя не может быть присвоено новой таблице,
ибо такая таблица на самом-то деле уже есть!
Это поведение появилось в SQL2005 и отличается от поведения SQL2000.

Полностью согласен. Мне лень было это расписывать :-) Я исходил из предположения, что если у пользователя есть право на создание таблицы в некоей схеме, то, скорее всего, есть и какое-нибудь право на конкретную таблицу схема.Таблица.
Ну и таки оказалось, что дело было не в бобине правах.
5 апр 13, 19:34    [14142529]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить