我对SqlAlchemy和Firebird DB是新手。
我可以直接使用DBeaver创建一个表:
CREATE TABLE NEWTABLE (
COLUMN1 FLOAT,
COLUMN2 FLOAT
);
但如果我尝试使用pyndas sqlalchemy执行同样的操作,我会得到一个错误:
import sqlalchemy as sa
import pandas as pd
engine = sa.create_engine(r'firebird+fdb://user:pwd@localhost:3050/c:\XXX.FDB', echo=False)
df = pd.DataFrame({"COLUMN1":[], "COLUMN2":[]})
df.to_sql(name="NEWTABLE", con=engine, if_exists = 'replace', index=False, method=None)
DatabaseError: (fdb.fbcore.DatabaseError) ('Error while preparing SQL statement:\n- SQLCODE: -817\n- Dynamic SQL Error\n- SQL error code = -817\n- Metadata update statement is not allowed by the current database SQL dialect 1', -817, 335544569)
[SQL:
CREATE TABLE "NEWTABLE" (
COLUMN1 FLOAT,
COLUMN2 FLOAT
)
问题是由引号“…”引起的
在
到sql
查询中。
如何告诉sqlalchemy不要使用引号来兼容Firebird(方言1)
作为替代方案:
如果已创建模型:
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.ext.declarative import declarative_base
base = declarative_base()
class Base(base):
__abstract__ = True
__table_args__ = {'quote':False}
db = SQLAlchemy(model_class=Base)
class Newtable(Base):
__tablename__ = 'NEWTABLE '
column1 = db.Column('COLUMN1', db.Float, quote=False)
column2 = db.Column('COLUMN2', db.Float, quote=False)
我找到了一个可能的解决方案,上面写着用SQLalChemy for PostgreSQL去掉双引号:如果表名是大写的,它会自动被引号包围。
从实验上讲,我发现这同样适用于火鸟,即使我没有找到任何关于这个问题的适当参考,但只找到了一些明显不相关的东西
改为
df.to_sql(name="newtable", ...)
解决了这个问题。
如何删除每个索引,我有一个参数和删除按钮,我试图将我的参数放在我的删除按钮中,但它不起作用如何解决这个问题? 超文本标记语言
我有一个字符串: "16680,16678,16677,16676,16675,16672" 这是我在调用存储过程传递的参数时得到的。我想把这些记录插在哪里 其中 (16680,16678,16677,16676,16675,16672)。 如何在 Sybase ASE 存储过程中执行此操作?
问题内容: 我每天创建索引来存储搜索历史,并且我将这些索引用于应用程序中的建议,这也有助于我根据历史建议。 现在我只需要维持过去的10天历史。那么elasticsearch中是否有任何功能可以让我定期创建和删除索引? 问题答案: 我唯一能想到的就是使用数据数学:https : //www.elastic.co/guide/en/elasticsearch/reference/current/dat
输出为 预期输出
是否可以从nashorn引擎中隐藏或删除java api?所以它只能看到或使用“默认”ECMAScript 262版本5.1,以及一些特别公开的函数/变量? 我想让我的最终用户为自己创建一些特定的逻辑,而不用担心他们会入侵整个系统。当然,nashorn引擎中可能存在一些安全漏洞等,但这是不同的主题。 编辑:很抱歉,我忘了提到我正在java应用程序中运行nashorn,所以不能使用命令行参数。
问题内容: 是否可以从nashorn引擎隐藏或删除java api?这样它只能看到或使用带有某些特别暴露的函数/变量的“默认” ECMAScript 262 Edition 5.1? 我想让我的最终用户为自己创建一些特定的逻辑,而不必担心他们会破坏整个系统。当然,nashorn引擎等中可能存在一些安全漏洞,但这是不同的话题。 编辑:对不起,我忘了提及我在Java应用程序中运行nashorn,因此无