我 Ctrl+C 退出了初始 pgAdmin4 设置。python pgAdmin4.py现在,如果我尝试重新运行安装,则会收到大量错误。我现在正在使用 pgAdmin3,但我想知道如何解决这个问题。完整的回溯如下:
Traceback (most recent call last):
File "pgAdmin4.py", line 37, in <module>
app = create_app()
File "/home/sean/.virtualenvs/pgadmin/lib/python2.7/site-packages/pgadmin4/pgadmin/__init__.py", line 244, in create_app
db_upgrade(app)
File "/home/sean/.virtualenvs/pgadmin/lib/python2.7/site-packages/pgadmin4/pgadmin/setup/db_upgrade.py", line 25, in db_upgrade
flask_migrate.upgrade(migration_folder)
File "/home/sean/.virtualenvs/pgadmin/local/lib/python2.7/site-packages/flask_migrate/__init__.py", line 244, in upgrade
command.upgrade(config, revision, sql=sql, tag=tag)
File "/home/sean/.virtualenvs/pgadmin/local/lib/python2.7/site-packages/alembic/command.py", line 254, in upgrade
script.run_env()
File "/home/sean/.virtualenvs/pgadmin/local/lib/python2.7/site-packages/alembic/script/base.py", line 421, in run_env
util.load_python_file(self.dir, 'env.py')
File "/home/sean/.virtualenvs/pgadmin/local/lib/python2.7/site-packages/alembic/util/pyfiles.py", line 93, in load_python_file
module = load_module_py(module_id, path)
File "/home/sean/.virtualenvs/pgadmin/local/lib/python2.7/site-packages/alembic/util/compat.py", line 75, in load_module_py
mod = …Run Code Online (Sandbox Code Playgroud) 随着 SQL Server 2017 附带的 Python 功能的引入,我想知道是否有人能够使用 SSMS v17.x 并运行需要用户输入的 Python 脚本。这是一个示例基本脚本:
execute sp_execute_external_script @language = N'Python',
@script =N' print ("This is a PYTHON test")
userinput = int(input ("Enter LBs to convert to KG"))
converted = userinput * 0.453592
print (converted) '
Run Code Online (Sandbox Code Playgroud)
该脚本在 SSMS 中无休止地运行,而如果它只是一个打印语句;成功完成并产生打印结果。
我知道我可以使用像 Pycharm 这样的 Python IDE 控制台,但我想知道 SSMS 是否有这样的功能。我在互联网上的研究并没有那么富有成效。Python的大部分使用都与建模和分析有关。
我刚刚用 pip 安装了 mssql-cli,
pip3 install mssql-cli
Run Code Online (Sandbox Code Playgroud)
然后我尝试跑步,mssql-cli然后我得到了
$ mssql-cli
/usr/bin/python: No module named mssqlcli
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 python 来自动化我们的一些数据库恢复。当我运行 SQL 查询时,数据库会恢复并正常恢复,但是当我运行使用相同 SQL 查询的 python 脚本时,数据库仍处于恢复模式。
对我做错的任何帮助将不胜感激。
import pyodbc
#Set these Variables
sourceserver = 'MySourceServerName'
destinationserver = 'MyDestinationServerName'
dbname = 'test'
sourceserverplusport = sourceserver + ',1433'
destinationserverplusport = destinationserver + ',1433'
def ExecSQL(serverplusport, dbnameIN, sql):
try:
connexecsql = pyodbc.connect('Driver={SQL Server};'
'Server=' + serverplusport +';'
'Database=' + dbnameIN + ';'
'Trusted_Connection=yes;')
#Set AutoCommit
if connexecsql is not None:
connexecsql.autocommit = True
print(sql)
cursor = connexecsql.cursor()
cursor.execute(sql)
finally:
cursor.commit
cursor.close
connexecsql.commit
connexecsql.close
sqlcommand = r"""IF @@SERVERNAME = 'MyDestinationServerName'
RESTORE …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 SQL Server 生成的HASHBYTES()哈希值与 python hash()(或hashlib) 函数生成的哈希值进行比较。对于这两个函数,使用相同的算法。问题是我不知道 SQL 的种子,所以我无法使用 python 生成相同的输出。有没有办法设置SQL的种子?我无法找到任何与之相关的信息。
我第一次使用简单的 Python Web 应用程序(Flask + psycopg2)尝试 PgBouncer,我很难通过简单的谷歌搜索来解释其日志消息的含义。我基本上看到了一堆:
2014-06-09 09:25:07.867 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 login attempt: db=vinum user=vinum
2014-06-09 09:25:07.867 20980 LOG S-0x1b38bf0: vinum/vinum@127.0.0.1:5432 new connection to server
2014-06-09 09:25:07.875 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 closing because: client close request (age=0)
2014-06-09 09:25:15.626 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 login attempt: db=vinum user=vinum
2014-06-09 09:25:16.058 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 closing because: client close request (age=0)
2014-06-09 09:25:16.762 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 login attempt: db=vinum user=vinum
2014-06-09 09:25:16.796 20980 LOG C-0x1b1b3a8: vinum/vinum@unix:6432 login attempt: db=vinum …Run Code Online (Sandbox Code Playgroud) 主要问题我们需要在MS SQL Server 2019上使用正则表达式,能力至少达到POSIX正则表达式的水平。
这个来自 stackoverflow 的问答正确地得出结论,如果您的查询必须依赖正则表达式,您应该使用 CLR。这篇 Readgate文章详细阐述了这种方法。所以我和我的一位同事提出了这个解决方案,但我的另一位同事断然表示,在这里使用 CLR 会给安全性和稳定性带来巨大风险,而使用外部脚本(Python 或 R)更安全。
这似乎是一个可疑的说法,因为CLR 中的用户代码是可以管理的,所以也许正好相反,但我没能说服我的同事。
在我绝望中写的另一个问题中,因为我被迫使用外部脚本并且仍然产生一个极快的查询。SQLpro 用户在他的评论中指出:
就安全性而言,使用 Python 或 R 可能比使用 CLR 更糟糕!
我倾向于相信。
所以我有两个问题:
sql-server regular-expression sql-clr python external-scripts
我需要使用 Python 程序在 MySQL 服务器中创建数据库的副本。
经过一番研究,我发现 mysqldump 是更好的方法:
import subprocess
command_to_copy_db = f"mysqldump -h {SQL_DB_HOST} -P 3306 -u {SQL_DB_USER} -p{SQL_DB_PASSWORD} {src_database_name} | mysql -u root -p{SQL_DB_PASSWORD} {dest_database_name}"
backup_db_command_result = subprocess.run(command_to_copy_db, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
shell=True, text=True)
Run Code Online (Sandbox Code Playgroud)
我的查询:
这种方法有什么问题吗?或者有没有更好的方法来做到这一点?