Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Airflow 数据库-SQL Server连接_Airflow - Fatal编程技术网

Airflow 数据库-SQL Server连接

Airflow 数据库-SQL Server连接,airflow,Airflow,我有一个关于将后端连接从SQLite更改为SQL Server的问题。为sql\u alchemy\u conn传入正确的连接字符串后,我运行以下命令:initdb。我得到以下错误: sqlalchemy.exc.ProgrammingError:(pyodbc.ProgrammingError)('42000',“[42000][Microsoft][ODBC Driver 13 for SQL Server][SQL Server]一个表只能有一个时间戳列。由于表'task\u resche

我有一个关于将后端连接从SQLite更改为SQL Server的问题。为
sql\u alchemy\u conn
传入正确的连接字符串后,我运行以下命令:
initdb
。我得到以下错误:

sqlalchemy.exc.ProgrammingError:(pyodbc.ProgrammingError)('42000',“[42000][Microsoft][ODBC Driver 13 for SQL Server][SQL Server]一个表只能有一个时间戳列。由于表'task\u reschedule'已经有一个时间戳列,因此无法添加列'start\u date'。(2738)(SQLExecDirectW)][SQL:'\n创建表task\u reschedule(\n\tid INTEGER NOT NULL IDENTITY(1,1),\n\t任务id VARCHAR(250)NOT NULL,\n\t任务id VARCHAR(250)NOT NULL,\n\t执行日期时间戳NOT NULL,\n\ttry数字整数NOT NULL,\n\t开始日期时间戳NOT NULL,\n\t开始日期时间戳NOT NULL,\n\t持续时间整数NOT NULL,\n\t计划日期时间戳NOT NULL,\n\t主键(id),\n\t约束任务\u重新调度\u dag\u任务日期\u fkey外键(任务id、dag\u id、执行日期)引用任务实例(任务id、dag\u id、执行日期)\n\n'](此错误的背景信息位于:)

这对我来说很有用: 在文件中:
0a2a5b66e19d\u添加\u任务\u重新安排\u表格.py
添加以下内容:

def mysql_datetime():
    return mysql.DATETIME(timezone=True)
并替换具有
timestamp()
的任何行,例如:

sa.Column('execution\u date',timestamp(),nullable=False,server\u default=None),

为此:

sa.Column('execution\u date',mysql\u datetime(),nullable=False,server\u default=None),


一旦我做了这个更改,上面的错误就消失了,但我不确定是否还有其他意外的后果。如果是这样,我将在这里更新,或者干脆使用MySQL数据库。

因为它只是为了记录日志,所以我最终决定切换到本地MySQL数据库。