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

Откуда:
Сообщений: 339
Добрый день всем.Хочу сделать запрос из командноцй страки и результат записать в файл query.txt.Я пишу так

sqlcmd -S Servername -E
use databaseName

select * from Persons -o C:\query.txt
go
19 июн 11, 08:45    [10835960]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
"Я пишу так", и что происходит?
19 июн 11, 10:00    [10836004]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Писать надо так: sqlcmd -E -Q"select @@version" -o"C:\qryout.txt"

Если текст запроса длинный, его тоже можно в файл запихать.
19 июн 11, 10:05    [10836009]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Karen__84
Member

Откуда:
Сообщений: 339
я пишу так

sqlcmd -S erevan-6de9b9e5 -E
-Q "select * from Countries" -o C:\Karen1.txt
go
Msg 102, Level 15, State 1, Server EREVAN-6DE9B9E5, Line 2
Incorrect syntax near '-'.
19 июн 11, 18:25    [10837062]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62908
Попробуй [EREVAN-6DE9B9E5]
19 июн 11, 18:35    [10837092]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Karen__84
я пишу так

sqlcmd -S erevan-6de9b9e5 -E
-Q "select * from Countries" -o C:\Karen1.txt
go
Msg 102, Level 15, State 1, Server EREVAN-6DE9B9E5, Line 2
Incorrect syntax near '-'.
sqlcmd надо не в студии писать, а в командной строке.
19 июн 11, 18:46    [10837137]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
И вот это
erevan-6de9b9e5
надо бы в двойные кавычки взять из-за символа "-"
Вроде у SQLCMD нет параметра "-6"?
19 июн 11, 18:51    [10837160]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Karen__84
Member

Откуда:
Сообщений: 339
C:\Documents and Settings\Karen>hostname
erevan-6de9b9e5



C:\Documents and Settings\Karen>sqlcmd -S "erevan-6de9b9e5" -E
1> use MyDataBase
2> -Q "select * from Countries" -o C:\Kare.txt
3> go
Msg 102, Level 15, State 1, Server EREVAN-6DE9B9E5, Line 2
Incorrect syntax near '-'.
19 июн 11, 19:13    [10837225]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Karen__84
C:\Documents and Settings\Karen>hostname
erevan-6de9b9e5



C:\Documents and Settings\Karen>sqlcmd -S "erevan-6de9b9e5" -E
1> use MyDataBase
2> -Q "select * from Countries" -o C:\Kare.txt
3> go
Msg 102, Level 15, State 1, Server EREVAN-6DE9B9E5, Line 2
Incorrect syntax near '-'.
Что такое "use MyDataBase"?
Это часть запроса? Тогда почему не в -Q?
Что такое "go"? CMD.EXE понимает эти две буквы? Или у Вас ещё и Go.EXE в конце выполняется?
Почему -Q оказалась на новой строке?
Вам надо изучать командную строку Windows. Вот что!
19 июн 11, 19:56    [10837356]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
NVS
Member

Откуда:
Сообщений: 89
Привет всем!
Чтобы не плодить темы
SELECT @@Version

Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

пишу следующее
sqlcmd -E -i "c\MyFolder\MyScript.sql" -o "C\MyFolder\MyOutput.txt"

файл MyScript.sql :
USE DB_OLAP
GO
SELECT * FROM dbo.USR4000012
GO


естественно и такая база и такая таблица в ней есть
получаю в ответ:
автор
Msg 911, Level 16, State 1, Server DBASET, Line 4
Could not locate entry in sysdatabases for database 'DB_OLAP'. No entry found with that name. Make sure that the name is entered correctly.
Msg 208, Level 16, State 1, Server DBASET, Line 1
Invalid object name 'dbo.USR4000012'.


Учетка в группе sysadmin.
7 дек 11, 12:44    [11720385]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Glory
Member

Откуда:
Сообщений: 104751
NVS
естественно и такая база и такая таблица в ней есть
получаю в ответ:
автор
Msg 911, Level 16, State 1, Server DBASET, Line 4
Could not locate entry in sysdatabases for database 'DB_OLAP'. No entry found with that name. Make sure that the name is entered correctly.
Msg 208, Level 16, State 1, Server DBASET, Line 1
Invalid object name 'dbo.USR4000012'.

Напишите запрос к sysdatabases и увидете, есть база или нет
7 дек 11, 12:54    [11720470]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
NVS
Member

Откуда:
Сообщений: 89
Glory
[
Напишите запрос к sysdatabases и увидете, есть база или нет

SELECT * FROM sys.databases WHERE name = N'DB_OLAP'


DB_OLAP 10 NULL 0x010100000000000512000000 2011-12-07 04:42:12.273 80 Cyrillic_General_CI_AS 0 MULTI_USER 0 0 0 0 ONLINE 0 0 0 0 OFF 0 1 FULL 1 TORN_PAGE_DETECTION 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89EC0AE2-1931-4105-A3DB-DB3E87B69A0E 1 2 LOG_BACKUP 0
7 дек 11, 13:05    [11720609]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Glory
Member

Откуда:
Сообщений: 104751
NVS
SELECT * FROM sys.databases WHERE name = N'DB_OLAP'

в sqlcmd надо выполнить этот запрос
7 дек 11, 13:07    [11720633]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
NVS
Member

Откуда:
Сообщений: 89
Glory
в sqlcmd надо выполнить этот запрос

Угу...
автор
Msg 208, Level 16, State 1, Server DBASET, Line 1
Invalid object name 'sys.databases'.


Окей, понял, тогда вопрос, как же тогда работать с SQLcmd в 2005 sql-server - е?
7 дек 11, 13:16    [11720737]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
Glory
Member

Откуда:
Сообщений: 104751
NVS
Окей, понял, тогда вопрос, как же тогда работать с SQLcmd в 2005 sql-server - е?

Наверное нужно для начала к правильному серверу присоединиться в sqlcmd ?
7 дек 11, 13:21    [11720810]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd  [new]
NVS
Member

Откуда:
Сообщений: 89
Glory,
Спасибо, я понял :)
7 дек 11, 13:27    [11720887]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить