Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Microsoft SQL Server

Автор: dneprcomp
Дата сообщения: 07.12.2007 07:22
delover
Строка соединения для SQL Express отличается от полного сервера. В программе используется не тот вариант строки.
Автор: delover
Дата сообщения: 07.12.2007 12:27
vladk1973
Окно стандартное - системное. Если зайдёшь в делфи на форму кинь компонент ADOConnection1. Тресни по нему маузом два раза - вылетит первое окошко - оно дельфовое, с кнопкой <Build...>. Жмём кнопку и видим окно - "Свойства связи с данными". Вот это оно и есть.

dneprcomp
Я посмотрел строку она абсолютно такая же, только без переносов строки:

Код: Provider=SQLOLEDB.1;
Integrated Security=SSPI;
Persist Security Info=False;
Data Source=XXX\sqlexpress
Автор: dneprcomp
Дата сообщения: 07.12.2007 21:18
delover

Код: ' connection string for Server
dbConnectString = "Provider = sqloledb;Data Source=......;" _
& "Initial Catalog=......;User ID=.....;Password=......;"

'attached on the fly to the instance of SQL EXPRESS Server
dbConnectString = "Provider=SQLNCLI.1;Integrated Security=SSPI;" _
& "Persist Security Info=False;AttachDBFileName=" & MDFPath _
& ";Data Source=" & [name of computer on with SQL Express installed] & "\sqlexpress"

'working with DB already attached to SQL EXPRESS Server
dbConnectString = "Provider=SQLOLEDB;Initial Catalog=[name of DB];" _
& "Data source = " & [name of computer on with SQL Express installed] & "\sqlexpress;" _
& "Integrated security=SSPI"
Автор: delover
Дата сообщения: 10.12.2007 18:15
dneprcomp
Спасибо, но судя по посту у него действительно что-то не правильно установлено.


Цитата:
'attached on the fly ... Provider=SQLNCLI.1

Не использую fly. Так что провайдер этот пока не нужен.


Цитата:
'working with DB already attached ... Provider=SQLOLEDB

Так же всё. Строка передаётся нормально, провайдер правильный. Каталог я не заполняю, так как пользую и master и свой каталог. Заполняю сам по мере необходимости. Секюрити у меня программа настраивает - точно так же как нужно экспрессу. Есть возможность и виндовс аутентификации и пользователя sa. Вообще этим у меня занимается мой компонент - обёртка для TADOConnection.


Цитата:
Плюс, надо настроить при инсталяции SQL Express и затем учитывать в коде

Вот это может быть, так как в нормальном MSSQL я мог установить хоть как, а потом поменять настройки сервера для секюрити. Где их искать в экспрессе - я не знаю. У него (где не работает), там во первых нет пользователя SA. Во вторых я не мог создать там пользователя. В третьих видимо действительно криво поставлено, так как там до этого был 2000, потом 2005, а потом экспресс с дополнительно установленной студией. Когда я переходил на 2005 и поставил его поверх 2000 у меня не получилось подключить каталог созданный в чистой 2005. Видимо перекосы есть, но когда удалил всё и поставил 2005 чистый - подсоединил.


Цитата:
Через TCP/IP потом проще работать.

А я вообще этого не использую - не знаю зачем это. Адошная программа коннектится без проблем локально и если есть SA то и по сети. Так что пайпы я вообще не вижу.

ps. Во первых прога точно работает с нормальным SQL экспрессом когда создаёт базу сама. Во вторых я не знаю что за базу присоединили там где не работает. Может если её отсоединить то программа сама создаст без проблемм. В третьих я очень не уверен, что там сервер установлен корректно. Однако если будут подробности, напишу. Пока подробностей нет, но всё равно спасибо.
Автор: Rudia
Дата сообщения: 10.12.2007 22:11
rkhodjaev
Хех, я уж думал, что стриммеры уже не выпускаются Сечас намного проще купить пару дополнительных винчестеров и бэкапить на них. А если база не очень большая, можно на двд snapshot'ы делать.
Автор: slech
Дата сообщения: 29.12.2007 12:53
Всем привет.
Как заставить SQL использовать все 8 Гб оперативки ?

SQL 2000 - AWE включено.
Windows 2003 server EE.

спасибо.
Автор: Sergey21102
Дата сообщения: 29.12.2007 13:44
slech

SQL 2000 какой именно?
Операционка видит 8 гб?
а что пишется в логах скула по поводу AWE?
Автор: slech
Дата сообщения: 29.12.2007 19:14
сори, немного разделом ошибся.переехал сюда
Автор: SIF
Дата сообщения: 13.01.2008 11:37
Здравствуйте! Есть такой вопрос.
Делаю запросы к нескольким похожим таблицам, объединяю их используя UNION.
Можно ли в результирующей таблице каким-либо образом получить дополнительный столбец, чтобы в нем выводилось имя или синоним таблицы. Нужно чтобы было видно в строке из какой таблицы взялся результат.
Автор: TeXpert
Дата сообщения: 13.01.2008 18:12
SIF
Ты сам подумал, что написал?
Цитата:
Делаю запросы к нескольким похожим таблицам, объединяю их используя UNION
Если запрос к нескольким, то какое имя, или синоним?
Цитата:
дополнительный столбец, чтобы в нем выводилось имя или синоним таблицы. Нужно чтобы было видно в строке из какой таблицы взялся результат
Автор: vladk1973
Дата сообщения: 14.01.2008 04:03
SIF
SELECT column1, column2, column3, 'table1' AS column4 FROM table1
UNION
SELECT column1, column2, column3, 'table2' AS column4 FROM table2
UNION
SELECT column1, column2, column3, 'table3' AS column4 FROM table3

Автор: TeXpert
Дата сообщения: 31.01.2008 16:52
Есть простой способ заблокировать отдельную таблицу/хранимую процедуру/представления без нудных манипуляций с ролями/правами?
Автор: vladk1973
Дата сообщения: 02.02.2008 10:43
TeXpert
А как ты это представляешь себе?
Как SQL сервер должен дифференцировать запросы?
Вариантов три, наверно
Или делать контроль в интерфейсе программы. Есть минусы, но решение имеет право на жизнь
Или в самом коде процедур и триггеров прописывать "Если это INSERT от такого то, то ROLLBACK TRANSACTION". Более ужасного решения нельзя придумать
Или нудно проставить галочки манипуляциями PERMISSION.

Вот и получается, что самы простой - как раз последний способ
Автор: TeXpert
Дата сообщения: 02.02.2008 17:55
vladk1973
Я имею в виду, через Management Studio. Через интерфейс программы -- исключается.
Автор: vladk1973
Дата сообщения: 04.02.2008 02:03
TeXpert
Но ведь ничего не мешает тебе написать процедуру, раздающую права
Пуст она и манипулирует ролями/правами
Какую-нибудь
Set_Permission_To @Login, @Mode
Автор: theVile
Дата сообщения: 21.03.2008 16:42
После включения автоматического закрытия базы данных (AutoClose) в журнал событий (Application) начали сыпаться сообщения с кодом 17137 ("Starting up database '<имя базы>'".). Можно ли как-то отключить запись этих событий не выключая AutoClose?
Автор: sarti
Дата сообщения: 27.03.2008 10:34
Буки обновились в сентябре. Шапка обновилась в марте )
Автор: ONIX2
Дата сообщения: 28.03.2008 14:24
Друзья!

Помогите пожалуйста написать запрос на обновление, если такой возможен.

Нужно во всех ячейках одного определенного столбца таблицы поставить точку после последней русской буквы.

Казалось простая вещь, а поставила в тупик... Если я не в этой ветке спрашиваю, подскажите, где могут ответить.

Заранее спасибо! С уважением к авторам, Александр.
Автор: vladk1973
Дата сообщения: 28.03.2008 17:13
ONIX2
Тут проще написать функцию, в которую ты будешь передавать значение столбца и получать позицию искомого символа. А в самой функции - простой перебор строки справа налево.
Автор: ONIX2
Дата сообщения: 28.03.2008 21:41
vladk1973
Подскажите пожалуйста, как такая функция может выглядеть?

Просто в жизни приходилось писать только простые запросы - на выборку, на изменение...

А тут даже не представляю, как со строками работать.
Автор: afiget
Дата сообщения: 29.03.2008 00:08
ONIX2
Есть в справке пример для встроенной функции ASCII.
Если тебе нужно сделать эту операцию всего 2 раз, то функция не нужна. Сделай выборку в курсор, пробегись в цикле по нему и для найденных записей по первичному ключу измени данные в столбце оригинальной таблицы.
Автор: vladk1973
Дата сообщения: 29.03.2008 04:13
ONIX2
Ну например, так

Код:
CREATE FUNCTION dbo.LetterPos(@S VARCHAR(10))
RETURNS SMALLINT
AS
BEGIN
DECLARE @I SMALLINT
SET @I = LEN(@S)
WHILE @I > 0 BEGIN
IF SUBSTRING(@S,@I,1) IN (SELECT letter FROM letters) BEGIN
RETURN @I
END
SET @I = @I -1
END
RETURN 0
END
Автор: ONIX2
Дата сообщения: 29.03.2008 10:44
vladk1973

Огромное спасибо вам!

Буду пробовать.
Автор: slech
Дата сообщения: 08.04.2008 15:18
всем привет, может вопрос не совсем по теме. проблема возникает иногда при backup
настроен Plan. Бэкап с перетиранием. Бэкапы копируются на удалённую машину и архивируются. Есть такая проблема:
Иногда непонятно почему вместо затирания происходит создание согодняшних копий, но при этом остаются и старые, в итоге иногда из-за этого не хватает места и backup не проходит.

Может кто сталкивался и может подсказать почему такое может произойти ?
Спасибо.
Автор: Andbiz
Дата сообщения: 11.04.2008 13:28
Добавлено:
Здравствуйте!
Настраиваю программу ЛОЦМАН: PLM 8.5.
http://forum.ru-board.com/topic.cgi?forum=5&topic=14419&start=40
http://forum.ru-board.com/topic.cgi?forum=8&topic=26716
Возможно, кто-то слышал об этой программе. Это программа документооборота. Она взаимодействует с SQL Server 2000.
При соединение по сети с рабочими группами в ней нужно установить sql-аутентификацию. Я могу добавить эту запись через Лоцман-администратор. Но это не дает результата... SQL Studio в комплекте нет, есть SQL Server Service Manager, но там такого нет, т.к. он служит только для включения и выключения. А можно ли добавить эту запись другим способом? Как это можно сделать? Если можно, то поподробнее

P.S.

Кстати, базу данных создавал при DCOM-соединении на одном компьютере, т.е. компьютер был доменом. Потом убрал этот профиль и поставил Socket-соединение - теперь база данных недоступна. Эта ошибка возникает на компьютере, при помощи которого она и создавалась и работала. Кто-нибудь может пожалуйста объяснить почему это произошло?
Автор: dmka
Дата сообщения: 11.04.2008 14:48
Andbiz
Нифига не понял из твоего объяснения, но что тебе мешает подключиться к SQL 2000 с помошью Enterprise Manager с другого компьютера или поставить его прямо на сервер?
Автор: Andbiz
Дата сообщения: 11.04.2008 16:58
dmka


Цитата:
что тебе мешает подключиться к SQL 2000 с помошью Enterprise Manager с другого компьютера

В комплекте с SQL 2000 нет Enterprise Manager. Дашь ссылку, чтобы шел отдельно?


Цитата:
поставить его прямо на сервер?


Сеть между двумя компами. База на одном компе. Нужно, чтобы можно было ее открыть другого компа. Как можно включить SQL-утентификацию?
Автор: TeXpert
Дата сообщения: 11.04.2008 18:51
Andbiz
Цитата:
Дашь ссылку, чтобы шел отдельно?
Microsoft SQL Server Management Studio Express
http://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=en
Автор: Andbiz
Дата сообщения: 11.04.2008 21:34
TeXpert

Спасибо! Сейчас буду разбираться

Добавлено:
TeXpert

Получилось. Ошибки нет Теперь осталось подключить на другом компе! Еще раз спасибо!
Автор: felixio01
Дата сообщения: 12.04.2008 09:01
Доброго времени суток...

Может ребята Вы мне поможете...
Значить ситуация следующая: в одной мед организации слетел сервер, на котором была база наркоманов В базу на этот сервер заходили через веб-интерфейс. После переустановки ОС (Win XP SP2) и установки сервера MS SQL 2000. И настройке базы, база заработала но не полностью. Не работает поиск по базе. Т.е. там есть страничка, где задаёш критерии поиска например каких нить пациентов, по фамилии, году рождения, и т.д. и она выдаёт данные. но это не работает, хотя до того как слетела ОС всё работало нормально.
Вот скрины ошибок:
http://ifolder.ru/5959511
А вот файла *.asp , которые используются для доступа к базе
http://ifolder.ru/5933068

Ребята из смежной ветки по администрированию MS SQL помогли мне запустить базу (дело в том что я ранее не имел дело с DB), за что им огромное спасибо. Но по поводу поиска (см. выше) что то молчат...
Может Вы поможете?

Страницы: 1234567891011121314151617181920212223242526272829

Предыдущая тема: Генератор 10-ти разрядных ключей


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.