Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Microsoft SQL Server

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

Открыть новую тему     Написать ответ в эту тему

Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MICROSOFT SQL SERVER
 
тема посвящена выяснению ответов на вопросы, касающихся установки, функционирования и использования Microsoft SQL Server; также обсуждаются вопросы, касающиеся использования T-SQL (диалект SQL-языка, используемого в этой версии сервера)
 
популярные ответы на популярные вопросы "где скачать?" и "чем сломать?" можно найти здесь

 
 
Официальная документация:
SQL Server 2005 Books Online (original/english, 135MB, september 2007);
SQL Server 2005 Books Online (перевод/русский, 148MB, январь 2009);
 
 
Официальные обновления:
[для версий, начиная с 9.0.3042] / [полный перечень обновлений / зеркало]
03/06/2007: KB933508 (9.0.3042 > 9.0.3050);
04/03/2007: KB934458 (9.0.3050 > 9.0.3054);
04/03/2007: KB934459 (9.0.3054 > 9.0.3159);
06/28/2007: KB936305 (9.0.3159 > 9.0.3175);
 
 
Альтернативные источники информации:
sql.ru - очень полезный ресурс с говорящим за себя названием; пожалуй, лучший (если не единственный) на просторах ru'нета; кроме форумов есть большая подборка статей, FAQ, и прочее.

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 11:49 18-07-2003 | Исправлено: niichavo, 16:13 02-04-2010
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreemanRU
Откат транзакций вощето делается rollback tran, если это интересновало. Как делать в транзактСКЛ юзеров - не знаю, не доводилось.


----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 14:24 14-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как преобразовать КЛАДР в формат MS SQL.  
Задача такая :  
 В моей базе данных используются города, области, улицы. Чтобы не набивать все в ручную решил использовать кладр налоговой. Вот...  
  Знаний не мого - отсего слегонца вошел в ступор!  
 С чего начать?

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 15:59 17-06-2006
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
JonyBes
Хм... для начала что такое КЛАДР? В каком там формате хранятся данные ,если известно?

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 16:45 17-06-2006
naPmu3aH



Из лесу вышел
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Solnake

Цитата:
Хм... для начала что такое КЛАДР? В каком там формате хранятся данные ,если известно?

Адресный классификатор.  
 
JonyBes

Цитата:
 С чего начать?

С разбора/поиска формата КЛАДРа, чтобы установить соответствие нужных полей. Самый простой способ IMHO - открытие файлов данных в Excel/Access (они умеет работать с DBF от DBase/Foxpro).
Ну а потом - переливание данных в вашу базу любым удобным Вам способом.

----------
Ну і хто тебе кликав, чому ти прийшла, Стара проститутка, сука-війна? Хто тобі платить за наші тіла? Скільки ще тобі треба, яка їх ціна?

Всего записей: 4642 | Зарегистр. 30-10-2001 | Отправлено: 17:18 17-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А, как сохранить ссылки. т.к перебивать принадлежность улиц к городу, городов  к краям, областям - труд оч большой.

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 10:33 18-06-2006
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вычисялять както форинкеи

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 12:21 18-06-2006
ionflux



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Форинкеи там вычисляются довольно быстро, вот только их формат оставляет желать лучшего. У меня например для каждого форенкея по три вычисляемых поля, в которых разбит для грамотной связки ключ из таблиц КЛАДРа.

Всего записей: 38 | Зарегистр. 19-03-2003 | Отправлено: 21:38 18-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ionflux
Если можно по подробнее

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 22:31 18-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Перевел базу кладр через аксес. Подключаю в делфях через адо. База запускается оч медлено. Как победить?

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 09:38 19-06-2006
naPmu3aH



Из лесу вышел
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JonyBes

Цитата:
База запускается оч медлено

Что бы это значило? (с)

----------
Ну і хто тебе кликав, чому ти прийшла, Стара проститутка, сука-війна? Хто тобі платить за наші тіла? Скільки ще тобі треба, яка їх ціна?

Всего записей: 4642 | Зарегистр. 30-10-2001 | Отправлено: 20:44 19-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Судь вот в чем:
Пишу процедуру:
CREATE PROCEDURE pr
@path varchar
AS
select *  from PS_Area
where   fullpath = @path
GO
 
Значение @path = .1.2.
Процедура не работае(уже пробовал и одинарные ковычки и скобки - не помогает)
 
А если так:
CREATE PROCEDURE pr
AS
select *  from PS_Area
where   fullpath = '.1.2.'
GO
 
то все ОК
В чем засада?

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 12:49 22-06-2006
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
JonyBes
Ну у тебя ведь @path varchar. А ты хочеш ему присвоить в первом варианте хз что.
varchar - это набор символов. Лучше обьявлять так : @path varchar(16) или нужную тебе розмерность.
Вот поэтому у тебя второй вариант пашет.
и есть такая кнопочка в QA как F1.
Удачи.
 
Тфу ты блин, когда я нуачусь читать до конца ))
Вероятнее всего поле fullpath какоето замученое...  
 
Матерится где? Откуда присваиваеш ?

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 12:54 22-06-2006 | Исправлено: Solnake, 13:28 22-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все ОК, нужно было у varchar выставить розмерность и все пошло.
Поймал глюк

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 16:50 22-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CREATE PROCEDURE Sity_tip  
 
@path varchar(50),
@name varchar(50),
@type varchar(50)
 
AS
 
select id_area, name_area, id_typearea, level_, fullpath  
from PS_Area
where id_typearea=@type and fullpath like @path+ '%' and name_area like @name + '%'
GO
 
Переменная @type принимает значение в числах 7,11,56 и др.
Как мне выбрать все значения сразу?

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 20:38 23-06-2006
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
JonyBes

Цитата:
Переменная @type принимает значение в числах 7,11,56 и др.
Как мне выбрать все значения сразу?
 

Тебе надо сделать сравнение id_typearea с перечнем целых чисел?
Тогда так:

Код:
 
... WHERE id_typearea IN(7,11,56)
 

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 22:30 23-06-2006 | Исправлено: EZH, 22:32 23-06-2006
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хм... выход есть такой - передаеш список чисел переменной @type. Далее пишеш одну нехитрую функцию, которая понадобится и очень часто в дальнейшем :
Create   FUNCTION dbo.f_StrToTable (@strID varchar(5000) )  
RETURNS @Table table(id int) AS  
BEGIN  
   declare @tmp varchar (5000)
   declare @result varchar(1024)
   declare @n int
   declare @pos int
---------------------
    set @n=1
    set @pos=1
   while @n<=len(@strid)  
   begin
     set @tmp=substring(@strid, @n, 1)
     if @tmp=',' -- or @n=len(@strid)  
     begin
       set @result=substring(@strid,@POS, @n-@POS)
       insert into @Table(id)
       values(CONVERT(VARCHAR(32),@result) )    
       SET @pos=@n+1  
     end
     if @n=len(@strid)  
     begin
       set @result=substring(@strid,@POS, @n-@POS+1)
       insert into @Table(id)
       values(CONVERT(VARCHAR(32),@result) )    
     end
     set @n=@n+1
     
   end
   return  
END
 
а далее условие в запросе делаеш таким способом :
where
   id_typearea IN (select * акщь dbo.f_StrToTable (@type) )
 
Воть.
 
Короче суть понятна, зделаеш все так как нада - будет работать 100%. Пооверено.
Пы.Сы. Переменная @type должна быть типа варчар, и подумай как передать ей список нужных значений с розделителями ",".

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 01:07 24-06-2006 | Исправлено: Solnake, 01:09 24-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Solnake
Спасибо за помощь, но  
функция работает если задаешь одно число, типа  
if ComboBoxSity.ItemIndex = 1 then
dm.StoredProcSityTip.Parameters.ParamByName('@type').Value:= '7';
Если серию то вываливается в ошибку что не так?  
if ComboBoxSity.ItemIndex = 0 then
dm.StoredProckray.Parameters.ParamByName('@type').Value:= '7,11,58,46,54,52';

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 18:11 26-06-2006
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хм... странно.
у меня именно так и работает....
Обьявляеш например
@answid varchar(5000)
а далее
where
 answid in ( select id from [dbo].f_strToTable(@answid))
 
Проверь ещё раз так-ли...
Если снова выдает ошибку - напиши какую.
пропробуй запустить процедуру из QA методом  
exec <процедура> <параметр1>,<параметр2>...<параметр н>
Если выполнит без ошибок - значит ошибка в передаче параметров в Делфе, наскока я понял.
если выплюнет ошибку - пиши сюда какую, бум думать.
 
Но должно работать, у себя толькочто проверял.

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 09:16 27-06-2006
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Из QA пускается нормально - буду ковырять дельфю!

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 13:20 27-06-2006
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А что из делфы пишет?

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 16:02 27-06-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Microsoft SQL Server


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru