MSSQL. как запустить .sql-скрипт на сервере?

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
Monk
Сообщения: 2
Зарегистрирован: 31 окт 2004, 00:13

31 окт 2004, 00:14

Плз помогите мне в этом, в общем-то, простом вопросе :) .

Все факи излазил, но так и не разобрался :( .

Ситуация такова: у меня на локальном mssql server есть достаточно большая база (таблиц 5 по 3000 записей). Нужно скопировать её на удалённый сервер. Встроенный средства вроде export/import или sql query analyzer совершенно не подходят, потому что на dial up это похоже на форменное извращение.

Я экспортировал базу в .sql-скрипты, закачал их на сервер. На сервере Enterprise Manager'а и Sql Query Analyzer'а нет. Нашёл и установил на сервер в общем-то неплохую прогу EMS MS SQL Manager, с её помощью импортировал все скрипты... но! одна существенная проблема - при импортировании слетел чарсет :( то есть, то, что у меня на сервере было кириллицей, на удалённом сервере получилось в виде western (то есть латинские буквы с крышками). Как решить это, не нашёл :( . Конкурирующих программ тоже не особо...

Уже несколько дней мучаюсь. помогите, плз.
Аватара пользователя
AiK
Сообщения: 2271
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

31 окт 2004, 02:29

Monk, какой-то странный у тебя ход мыслей. Во-первых, не те объёмы, чтобы просто не залить данные по диалапу под транзакционным контролем, разбив предварительно данные скажем по 100 записей. Во-вторых, если ты имеешь доступ к серверу, то почему бы не поставить на него консоль? Хотя бы из 6-ки. На крайний случай isqlw. Ну и в третьих, кто тебе мешает воспользоваться утилиткой bcp?
Даже самый дурацкий замысел можно воплотить мастерски
Monk
Сообщения: 2
Зарегистрирован: 31 окт 2004, 00:13

16 ноя 2004, 21:52

AiK, давай тогда уж подробнее и по пунктам :) .

Как залить данные под транзакционным контролем?

Что за консоль? где взять и как её поставить? как с диска поставить - представляю. Но у меня доступ только к удалённому рабочему столу.

Что есть isqlw и bcp?
Аватара пользователя
AiK
Сообщения: 2271
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

17 ноя 2004, 16:23

Как залить данные под транзакционным контролем?
Оч просто. В начале скрипта пишешь BEGIN TRAN, а в конце COMMIT TRAN. Между ними всё что нужно.
В итоге у тебя либо все данные заносятся в базу, либо если коннект разорвётся - ни одного.
Что за консоль? где взять и как её поставить?
Консоль это то, что нынче Query Analizer'ом зовётся. Брать на диске с SQL 6.5 сервером. Устанавливается простым копированием exe файла и нескольких dll'ек.
Правильное название ISQL/w. Не исключено, что в сети можно найти.
Что есть isqlw и bcp?
С первым названием напутал. Просто isql.exe или даже лучше osql.exe - последняя через ODBC работает, а следовательно все фичи 2000-ного сервера поддерживает. Это command line утилитки, которые позволяют выполнять любые запросы к серверу.
bcp (от bulk copy) - утилитка для засасывания данных на сервер из текстовых файлов. Всё это добро лежит в папке /MSSQL/BINN/
Даже самый дурацкий замысел можно воплотить мастерски
Ответить