在远程Linux机器上执行执行sql

你的问题可以分两步来看。
第一步是讨论 shlex.split('~/tools/hive/bin/hive-ftest') 输出的内容。
在这里尝试过,Python 3 .9 输出为 ['~/tools/hive/bin/hive-ftest']。
直接把整个字符串当成一个元素,不用拆分。
因为shlex.split使用shell语法进行分割,但是这里没有空格或特殊符号,所以它不会分割。
第二步是查看 shlex.split('~/tools/hive/bin/hive-ftest', shell=True) 输出的内容。
我对此有点困惑,因为 shell=True 通常遵循 subprocess 模块中的函数,例如 subprocess.Popen。
shlex.split后好像添加错误,Python会报错。
你确定写的是什么吗?如果真的这么写的话,我这里试了一下,Python直接崩溃了,说“unknown argument: shell=True”。
我没有经历过这部分,所以我不确定我会是什么样子。

总而言之,shlex.split('~/tools/hive/bin/hive-ftest') 应仅列出一个元素 '~/tools/hive/bin/hive-ftest'。
但是 shlex.split('~/tools/hive/bin/hive-ftest', shell=True) 的写法似乎不起作用。
当我尝试这样做时,会报告错误。

有适合你的东西。
如果要添加 shell=True ,最好检查公共文档的内容,或者使用其他内容。
我还在想这个。

Linux下如何运行sql脚本

走台阶就行了,别太啰嗦了。

1 . 登录服务器并更改为postgres用户。
命令 su-postgres。
路径/var/lib/psql. 打开vim并编写test.sql。
2 .test.sql内容: sql 创建表test(id int not null主键, name text); 插入测试值(1 , 't1 '); 3 . 执行脚本:psql -f test.sql。
不需要用户名或密码,默认为 postgres。
4 .登录psql:psql。
查找表: \d 检查所有表。
\d test 检查测试表结构。
5 、查看数据:选择test; 只需查看 1 和 t1 6 . 要远程操作,命令:psql -U test1 -h 1 9 2 .1 6 8 .1 .1 9 4 -f test.sql。
输入您的密码。
7 、远程登录psql:psql -U test -h 1 9 2 .1 6 8 .1 9 4 检查上面的表格。
按照上面的方法检查数据。

什么,还有疑问吗?

在linux命令行中执行sql查询出现乱码

哎呀,我电脑上的Oracle数据库在设置字符集的时候差点把我逼疯了。
我记得当时我花了大半天的时间来设置这组人物。

当时我在企业服务器上,Oracle数据库配置很棒。
我登录到 sqlplus 并想要检查当前用户的语言,因此我输入了 SQL 行: select userenv('language') from Dual;结果是AMERICAN_AMERICA.ZHS1 6 GBK。
我知道字符集没问题,但我仍然需要更改环境变量。

然后我进入Linux终端,编辑该用户下的“.base_profile”文件,并添加此行:export NLS_LANG =“AMERICAN_AMERICA.ZHS1 6 GBK”。
修改完之后,我很紧张,生怕设置错误。

最后按照网上说的,用命令“source ~/.base_profile”试了一下,看看环境变量是否设置成功。
我当时心里很紧张,生怕出了什么问题。
幸运的是,执行命令后,我再次检查,发现NLS_LANG已经更改为我设置的值。

这件事给我留下了深刻的印象。
从那以后,每次遇到类似的设置问题,我都会小心翼翼,生怕再次落入陷阱。
哎,设置这个环境变量,其实是一件让人又爱又恨的事情!