Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > MS SQL SERVER не знаю с чего начать..


Автор: Dmitry_177 30.8.2007, 22:42
Хочу написать программу, т.е. клиентску часть по работе с БД на сервере MS SQL SERVER.. Но я даже не знаю с чего начать.. Почитав в интернете понял что можно воспользоваться ADO компонентами и SDAC-компонентами.. Но в любом случае почитав инфы я везде вижу только соединение уже с существующей БД.. Но а если такая ситуация: есть сервер, на какой-то комп или несколько компов из сети поставить свою программу, но а саму БД надо же как-то создать на сервере.. Вот непонятно как это сделать.. Думаю сделать так: при запуске программы выводить окно, в котором предлагается ввести сервер и путь к БД(наподобии как в 1С) но там будет еще кнопочка "Создать", т.е. создать БД на сервере если она еще не создана там.. А вот как создавать ее фиг знает.. прошу вашей помощи..

Автор: comtat 30.8.2007, 22:55
Цитата(Dmitry_177 @  30.8.2007,  22:42 Найти цитируемый пост)
Хочу написать программу, т.е. клиентску часть по работе с БД на сервере MS SQL SERVER..

А поподробнее .. 
Цитата(Dmitry_177 @  30.8.2007,  22:42 Найти цитируемый пост)
Думаю сделать так: при запуске программы выводить окно, в котором предлагается ввести сервер и путь к БД(наподобии как в 1С) но там будет еще кнопочка "Создать", т.е. создать БД на сервере если она еще не создана там.. А вот как создавать ее фиг знает.. прошу вашей помощи.. 

Ато меня вот это пугает 

Автор: Dmitry_177 30.8.2007, 23:02
Цитата

А поподробнее .. 

сделать базу людей, т.е. ФИО, телефон, адрес и т.д..

Автор: comtat 30.8.2007, 23:10
принцип такой на сервере(машине) ставим сервер MSSQL
создаем там данную бд а из клиентского приложения коннектимся к данному
серверу и пользуемся бд

Меня мучает вопрос зачем кнопка "создать" ?  
Цитата(Dmitry_177 @  30.8.2007,  22:42 Найти цитируемый пост)
А вот как создавать ее фиг знает.. 

Код

create database;



Цитата(Dmitry_177 @  30.8.2007,  23:02 Найти цитируемый пост)
сделать базу людей, т.е. ФИО, телефон, адрес и т.д.. 

Идея хорошая только должен предупредить, что размещение личной информации граждан (телефонов, адресов и тд)
в открытых источниках без их письменного разрешения карается законодательством ...

Автор: Dmitry_177 30.8.2007, 23:16
Цитата

принцип такой на сервере(машине) ставим сервер MSSQL

то что ставить MSSQL на сервер нужно это то понятно..

Цитата

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

вот как создать? хотелось бы все программно сделать.. "create database;" а это где писать в TADOQuery?

Цитата

Меня мучает вопрос зачем кнопка "создать" ?

незнаю почему, но хочется сделать так чтобы можно было создавать БД на сервере из клиентской части программы.. т.е. не подходя к серверу..

Цитата

Идея хорошая только должен предупредить, что размещение личной информации граждан (телефонов, адресов и тд)
в открытых источниках без их письменного разрешения карается законодательством ...

с этим все Ок

Автор: comtat 30.8.2007, 23:28
Ну например вот так:
Код

CREATE DATABASE Name ON 
(NAME = Name_DATA,  FILENAME = "D:\MSSQL7\Data\COM\Name_COM_Data.MDF" )


Использовать типо так..
Код

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Запрос');
ADOQuery1.ExecSQL; 


Подробно описано в Help'e

Автор: Dmitry_177 30.8.2007, 23:32
Цитата

Код

CREATE DATABASE Name ON 
(NAME = Name_DATA,  FILENAME = "D:\MSSQL7\Data\COM\Name_COM_Data.MDF" )


вот где это писать??

а еще меня такой вопрос интересует.. есть аналог MS SQL SERVER-у  -  FireBird, так вот он еще и на Linux-e работает, т.е. есть версии для него.. и получается что программа может работать с сервером БД вне зависимости Linux там или Windows Server.. Есть ли какой-то MS SQL аналог для Linux-а? Ведь многие же серверы c OS Linux в отличии от Windows Server.. Так вот есть ли смысл писать для MS SQL SERVER-а? Может в таком случае лучше FireBird?

Автор: comtat 30.8.2007, 23:50
Цитата(Dmitry_177 @  30.8.2007,  23:32 Найти цитируемый пост)
вот где это писать??

Я привел пример использования
Цитата(Dmitry_177 @  30.8.2007,  23:32 Найти цитируемый пост)
Так вот есть ли смысл писать для MS SQL SERVER-а? Может в таком случае лучше FireBird?

Все зависит от целей .. Для этого нужно знать предназначении программы. Она предназначается для корпаративного использования или .. тому подобное

Цитата(Dmitry_177 @  30.8.2007,  23:32 Найти цитируемый пост)
и получается что программа может работать с сервером БД вне зависимости Linux там или Windows Server..

Программе все равно на какой ОС находится сервер
для коннекта ей достаточно знать хост, имя бд, логин, пароль и порт

Для ответов на ваши вопросы опишите подробнее что вы хотете сделать ..

Добавлено @ 00:03
если хотите иметь кроссплатформенную СУБД можно использовать MySql

Автор: SergeBS 31.8.2007, 07:25
Dmitry_177, 
Прочитай FAQи тут и в форумах по СУБД для начала. Там есть и насчет какую СУБД выбрать. Найди кого-нибудь по соседству, уже имеющего опыт работы с серверами и пообщайся. Или сам читай умные книжки, в разделе литературы их полно. А пока этого не сделал - лучше ничего не спрашивай. Поскольку просто не сможешь задать правильный вопрос. А ответы на банальные вопросы - в FAQ-ах. Так оно и быстрее будет, и лучше по результатам. 

Автор: Dmitry_177 31.8.2007, 07:50
Цитата

Все зависит от целей .. Для этого нужно знать предназначении программы. Она предназначается для корпаративного использования или .. тому подобное

для корпоративного...

Цитата

Программе все равно на какой ОС находится сервер
для коннекта ей достаточно знать хост, имя бд, логин, пароль и порт

я это понимаю.. только вот будет например где-то стоять Linux сервер, тогда они не смогут работать в моей программе, или придется ставить вместо Linuxа - Windows Server или покупать вобще второй сервер..

Цитата

Прочитай FAQи тут и в форумах по СУБД для начала. Там есть и насчет какую СУБД выбрать.

читал.. мой выбор пал на MS SQL smile

Автор: ТоляМБА 31.8.2007, 08:23
Цитата(Dmitry_177 @  30.8.2007,  23:02 Найти цитируемый пост)
сделать базу людей, т.е. ФИО, телефон, адрес и т.д.. 
А можно узнать что ты подразумеваешь под "и т.д."? Если там будет что-то типа "пол, дата рождения, семейное положение", то
Цитата(Dmitry_177 @  31.8.2007,  07:50 Найти цитируемый пост)
мой выбор пал на MS SQL 
имхо на работу каждый день на КамАЗе ездить, а если там будет что-то типа CRM, то это уже будет не "База людей".
Выбор СУБД зависит от поставленной задачи: поищи на форуме была прикреплённая тема "Какую базу данных выбрать"

ЗЫ. http://forum.vingrad.ru/forum/topic-30912/0.html

Автор: SergeBS 31.8.2007, 10:18
Dmitry_177, 
Цитата
читал.. мой выбор пал на MS SQL 

Плохо читал. MS SQL = Windows. Или плохо выбрал. Поскольку за него еще и платить надо. А под твою задачу подойдет любой. В том числе и бесплатные кроссплатформенные.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)