Использование SQLite3 с Cygwin

Я пытаюсь использовать командный процессор sqlite3.exe с мятным терминалом в cygwin. Я попробовал программу от командной строки окон, и она работает. Когда я пытаюсь использовать его от cygwin мятного терминала, кажется, что программа зависает. Я вижу параметры и версию. Это - как будто это прекращает писать в терминал, когда я выполняю оболочку.

У кого-либо еще была эта проблема прежде и раз так как Вы фиксировали ее? TIA.

~>sqlite3 -help
Usage: C:\Windows\sqlite3.exe [OPTIONS] FILENAME [SQL]
FILENAME is the name of an SQLite database. A new database is created
if the file does not previously exist.
OPTIONS include:
   -init filename       read/process named file
   -echo                print commands before execution
   -[no]header          turn headers on or off
   -bail                stop after hitting an error
   -interactive         force interactive I/O
   -batch               force batch I/O
   -column              set output mode to 'column'
   -csv                 set output mode to 'csv'
   -html                set output mode to HTML
   -line                set output mode to 'line'
   -list                set output mode to 'list'
   -separator 'x'       set output field separator (|)
   -nullvalue 'text'    set text string for NULL values
   -version             show SQLite version
~>sqlite3

Это - то, где это зависает. Ниже версии части соответствующего программного обеспечения.

~>uname -srv
CYGWIN_NT-6.1-WOW64 1.7.7(0.230/5/3) 2010-08-31 09:58
~>mintty --version

mintty 0.9.5
(C) 2010 Andy Koppe

~>bash -version
bash -version
GNU bash, version 4.1.9(3)-release (i686-pc-cygwin)
Copyright (C) 2009 Free Software Foundation, Inc.

Править: Когда я запускаю программу из командной строки окон работы программы. Это - то, что я должен видеть:

C:\Users\jmquigley\workspace\apis.net\sqlite>sqlite3
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .quit

Когда я выполняю команду в cygwin, это никогда не вводит оболочку; это, кажется, зависает, и я имею к CTRL + C, чтобы уничтожить его и возвратиться назад к командной строке удара.

7
задан 04.03.2011, 06:36

3 ответа

Интерактивная non-Cygwin программа часто не работает правильно в терминалах Cygwin такой как мятный, которые основаны на псевдотерминале ("имущество") устройства. Поэтому Cygwin использует каналы Windows для эмуляции имуществ, таким образом, собственная консольная программа видит канал, где они ожидают видеть консоль. Среди других проблем, который часто заставляет их переходить к неинтерактивному режиму. Посмотрите здесь для партий больше на этом:

http://code.google.com/p/mintty/issues/detail?id=56

Вы смогли заставлять это работать терпимо с помощью -interactive переключатель, но действительное решение должен установить версию Cygwin sqlite3 через setup.exe Cygwin.

10
ответ дан 07.12.2019, 14:43

Не уверенный я понимаю.

 ~>sqlite3

Это "зависает" после второго ~> sqlite3?

В той точке Вы больше не работаете, sqlite3 - Вы? Это возвратилось к подсказке. Первоначально все, что Вы сделали, должно было отобразиться, это - справка, и программа, из которой выходят. Или введите sqlite3.exe, один, или обеспечьте дб для открытия, как sqlite3.exe places.sqlite. Затем программа останется открытым ожиданием Ваших команд.

(Я не знаю о cygwin или мятный так, чтобы мог отбросить меня?)

0
ответ дан 07.12.2019, 14:43

Если Вам конкретно не нужен SQLite для работы в Cygwin, драйвер ODBC SQLite для окон может быть более оптимальным вариантом. Это предоставляет собственный Windows доступ к базам данных SQLite через ODBC так, чтобы программы как Основа OpenOffice и Microsoft Access, а также многие другие могли соединить и использовать их.

0
ответ дан 07.12.2019, 14:43

Теги

Похожие вопросы