Вроде нового в TCL/TK, более знакомый с сценариями CLI. У меня есть сценарий (ниже), чтобы установить связь с Postgres DB. Как только это сработает, я буду продолжать усилия по созданию редактора таблиц, поскольку тот, к которому у нас есть доступ, не будет работать так. />[*]NOT a privileged user
[*]NOT an expert in psql/postgres
[*]NO PERMISSION to install any software/patches
[*]NO PERMISSION to pgadmin
[*]NO Разрешение на ping
[*] нет разрешения на редактирование системных файлов, таких как pg_hba.conf, /etc/nsswitch.conf,/etc/hosts и т. Д.
Извините за все недостатки, пытаясь минимизировать некоторые вопросы. Уль -уль -уль -уль -ные
. /> Работа над удаленной системой через RDC (Windows 10 RDC to RHEL9) < /li>
Доступ CLI только в удаленной системе < /li>
Да, я знаю, что помещение пароля в скрипт не является безопасным, это для использования целей тестирования. 16.4 на x86_64-pc-linux-gnu, скомпилированный GCC (GCC) 7.3.1 20180712 (Red Hat 7.3.1-17), 64-битный < /p>
Вот мой скрипт: < /p>
package require Tcl
package require Tk
# Create Main Window
set mainWindow [tk::frame .main]
pack $mainWindow
# Variables
set dbHost ""
set dbName ""
set dbUser ""
set dbPass ""
set tableName ""
# Create UI Elements
label $mainWindow.hostLabel -text "Host:"
entry $mainWindow.hostEntry -textvariable dbHost
label $mainWindow.dbNameLabel -text "DataBase Name:"
entry $mainWindow.dbNameEntry -textvariable dbName
label $mainWindow.userLabel -text "User:"
entry $mainWindow.userEntry -textvariable dbUser
label $mainWindow.passLabel -text "Password:"
entry $mainWindow.passEntry -textvariable dbPass -show "*"
label $mainWindow.tableLabel -text "Table Name:"
entry $mainWindow.tableEntry -textvariable tableName
button $mainWindow.loginButton -text "Login" -command {loginToDatabase} -bg mediumseagreen
# Pack Layout
pack $mainWindow.hostLabel
pack $mainWindow.hostEntry
pack $mainWindow.dbName
pack $mainWindow.dbName
pack $mainWindow.userLabel
pack $mainWindow.userEntry
pack $mainWindow.passLabel
pack $mainWindow.passEntry
pack $mainWindow.tableLabel
pack $mainWindow.tableEntry
pack $mainWindow.loginButton
# Login Function
proc databaseLogin {} {
global dbHost dbName dbUser dbPass tableName
# Command to execute psql for given table
set command "psql -h $dbHost -d $dbName -U $dbUser -c 'SELECT * FROM $tableName LIMIT 1;'"
# Execute / Capature Output
set env(PGPASSWORD) $dbPass ;
set result [catch {exec $command} output]
# Check Result
if {$result == 0} {
tk_messageBox -message "Connection Success" -icon info
} else {
tk_messageBox -message "Connection Failed: $output" icon error
}
unset env(PGPASSWORD)
}
vwait forever
< /code>
Сообщение об ошибке: < /p>
Соединение не удалось! Причина: не смог бы выполнить "psql -h -d postgres -u -u -c 'select * from Limit 1'»: нет такого файла или каталога
для хоста я использовал как IP, так и полностью квалифицированное доменное имя, оба получения одинаковой ошибки. Из CLI нет проблем с тем, что я хочу. У меня есть .pgpass в $ дома. Кроме того, запуск оператора psql из CLI Works.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... -ui-script
Ошибка подключения к Postgres из сценария пользовательского интерфейса TCL/TK ⇐ Linux
1757003484
Anonymous
Вроде нового в TCL/TK, более знакомый с сценариями CLI. У меня есть сценарий (ниже), чтобы установить связь с Postgres DB. Как только это сработает, я буду продолжать усилия по созданию редактора таблиц, поскольку тот, к которому у нас есть доступ, не будет работать так. />[*][b]NOT[/b] a privileged user
[*][b]NOT[/b] an expert in psql/postgres
[*][b]NO PERMISSION[/b] to install any software/patches
[*][b]NO PERMISSION[/b] to pgadmin
[*][b]NO Разрешение [/b] на ping
[*] [b] нет разрешения [/b] на редактирование системных файлов, таких как pg_hba.conf, /etc/nsswitch.conf,/etc/hosts и т. Д.
Извините за все недостатки, пытаясь минимизировать некоторые вопросы. Уль -уль -уль -уль -ные
. /> Работа над удаленной системой через RDC (Windows 10 RDC to RHEL9) < /li>
Доступ CLI только в удаленной системе < /li>
Да, я знаю, что помещение пароля в скрипт не является безопасным, это для использования целей тестирования. 16.4 на x86_64-pc-linux-gnu, скомпилированный GCC (GCC) 7.3.1 20180712 (Red Hat 7.3.1-17), 64-битный < /p>
Вот мой скрипт: < /p>
package require Tcl
package require Tk
# Create Main Window
set mainWindow [tk::frame .main]
pack $mainWindow
# Variables
set dbHost ""
set dbName ""
set dbUser ""
set dbPass ""
set tableName ""
# Create UI Elements
label $mainWindow.hostLabel -text "Host:"
entry $mainWindow.hostEntry -textvariable dbHost
label $mainWindow.dbNameLabel -text "DataBase Name:"
entry $mainWindow.dbNameEntry -textvariable dbName
label $mainWindow.userLabel -text "User:"
entry $mainWindow.userEntry -textvariable dbUser
label $mainWindow.passLabel -text "Password:"
entry $mainWindow.passEntry -textvariable dbPass -show "*"
label $mainWindow.tableLabel -text "Table Name:"
entry $mainWindow.tableEntry -textvariable tableName
button $mainWindow.loginButton -text "Login" -command {loginToDatabase} -bg mediumseagreen
# Pack Layout
pack $mainWindow.hostLabel
pack $mainWindow.hostEntry
pack $mainWindow.dbName
pack $mainWindow.dbName
pack $mainWindow.userLabel
pack $mainWindow.userEntry
pack $mainWindow.passLabel
pack $mainWindow.passEntry
pack $mainWindow.tableLabel
pack $mainWindow.tableEntry
pack $mainWindow.loginButton
# Login Function
proc databaseLogin {} {
global dbHost dbName dbUser dbPass tableName
# Command to execute psql for given table
set command "psql -h $dbHost -d $dbName -U $dbUser -c 'SELECT * FROM $tableName LIMIT 1;'"
# Execute / Capature Output
set env(PGPASSWORD) $dbPass ;
set result [catch {exec $command} output]
# Check Result
if {$result == 0} {
tk_messageBox -message "Connection Success" -icon info
} else {
tk_messageBox -message "Connection Failed: $output" icon error
}
unset env(PGPASSWORD)
}
vwait forever
< /code>
Сообщение об ошибке: < /p>
Соединение не удалось! Причина: не смог бы выполнить "psql -h -d postgres -u -u -c 'select * from Limit 1'»: нет такого файла или каталога
для хоста я использовал как IP, так и полностью квалифицированное доменное имя, оба получения одинаковой ошибки. Из CLI нет проблем с тем, что я хочу. У меня есть .pgpass в $ дома. Кроме того, запуск оператора psql из CLI Works.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79755983/connection-error-to-postgres-from-tcl-tk-ui-script[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия