После установки переменных среды в sqlite3 на домашнем рабочем столе Windows 10, почему я не могу открыть базы данных? - PullRequest
0 голосов
/ 18 апреля 2019

В Windows 10 на настольном домашнем издании я установил следующую 'системную переменную' в PATH C:\sqlite3\, теперь, когда я захожу в командную строку в режиме администратора или нет, я могу запустить sqlite3 с помощью команды sqlite3 когда я открываю базу данных таким способом, она не будет читать таблицы в такой базе данных, если я не укажу полный каталог расположения файла базы данных.

Зайдя в ту же самую базу данных, но дважды щелкнув файл C:\sqlite3\sqlite3.exe, я смогу просматривать таблицы в одной и той же базе данных абсолютно точно без указания полного каталога.

Почему я не могу запустить эту программу из командной строки в целом?

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

  • Гугл
  • Пробовал указывать прямо на exe в переменной окружения
  • Поиск переполнения стека

UPDATE

Я обнаружил, что при запуске из командной строки он фактически создает файл базы данных по умолчанию в C:\Users\mynamehere Я не могу точно понять, почему, но моя лучшая теория заключается в том, что это как-то связано с тем, как я настраиваю среду переменная

1 Ответ

0 голосов
/ 19 апреля 2019

Windows будет искать каталоги, перечисленные в переменной среды PATH, чтобы найти исполняемых файлов , например, sqlite3.exe.

Из документа SQLite :

Запустите программу sqlite3, введя «sqlite3» в командной строке, необязательно сопровождается именем файла, который содержит SQLite база данных. Если указанный файл не существует, новый файл базы данных с данное имя будет создано автоматически. Если нет файла базы данных указан в командной строке, создается временная база данных, затем удаляется при выходе из программы «sqlite3».

cmd будет не искать каталоги в переменной среды PATH, чтобы найти файл базы данных. Он будет искать (или создавать) базу данных в текущем рабочем каталоге. Следовательно, вы должны использовать полный (или относительный) путь. Другой вариант: cd указать каталог, в котором находится база данных, а затем выполнить sqlite3 {databasename}

.
...