2014-01-07 3 views
0

Я сделал сценарий для подключения к моему серверу sql. когда я копирую свой скрипт в свой терминал, он отлично работает.Сценарий Linux с использованием tsql

подключиться к моему серверу SQL с помощью raspberrypi Tsql

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

Первый мой сценарий:

tsql -H Server -U Username -P Password 
Go 
Use master 

вставьте его в раковину

[email protected]:~# tsql -H Server -U Username -P Password 
Missing argument -p, looking for default instance ... found default instance, port 1433 
locale is "nl_NL" 
locale charset is "ISO-8859-1" 
using default charset "ISO-8859-1" 
1> GO 
1> use master 
2> go 
1> 

Я поставил точно такой же сценарий в файле data.sh Но это не будет работать.

[email protected]:~# ./data.sh 
Missing argument -p, looking for default instance ... found default instance, port 1433 
locale is "nl_NL" 
locale charset is "ISO-8859-1" 
using default charset "ISO-8859-1" 
1> 

Может кто-нибудь помочь мне с этой проблемой

благодаря

ответ

2

См this answer. Для работы вашего скрипта data.sh вам нужно передать SQL-запросы в программу tsql. Поскольку у вас есть это выше, вход в программу tsql отсутствует, поэтому он просто печатает приглашение.

Попробуйте это в data.sh:

tsql -H Server -U Username -P Password <<EOF 
    GO 
    use master 
    GO 
EOF 
+0

Спасибо за Ваш ответ , к сожалению, она не будет работать это выглядит как он использует команду, но нет результата или Ouput корень @ raspberrypi: ~ # ./databasecopy.sh Отсутствует аргумент -p, глядя для экземпляра по умолчанию ... найден пример по умолчанию, порт 1433 locale is «nl_NL» locale charset «ISO-8859-1» с использованием набора символов по умолчанию «ISO-8859-1» 1> 1> 2> 1> root @raspberrypi: ~ # – GS1

+0

Нет результатов или результатов для команд «Go» и «use master», поэтому вывод в вашем комментарии соответствует тому, что находится в вашем первом примере, где вы вставляете в оболочку. Попробуйте поместить инструкцию SQL SELECT, которая дает результаты в скрипте, и посмотрите, работает ли это. –

+0

Извините, что забыл сказать, что из-за того, что он не даст выход, я изменил скрипт, добавив базу данных create. но база данных не создана – GS1

0

Вы, вероятно, с помощью именованных каналов. Попробуйте добавить -L [instance_name].

Смежные вопросы