Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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
Python SQLAlchemy TypeError:_get_column_info()获取了意外的关键字参数';生成';_Python_Sqlalchemy_Amazon Redshift_Metadata - Fatal编程技术网

Python SQLAlchemy TypeError:_get_column_info()获取了意外的关键字参数';生成';

Python SQLAlchemy TypeError:_get_column_info()获取了意外的关键字参数';生成';,python,sqlalchemy,amazon-redshift,metadata,Python,Sqlalchemy,Amazon Redshift,Metadata,我正在尝试从红移数据库获取表的元数据。 即使连接正常,我也会出错。 “TypeError:\u get\u column\u info()获取了一个意外的关键字参数“generated” 我尝试了另一个不同服务器的数据库它工作正常。。。 但是不确定这个服务器表有什么问题。 你能帮我想出一个解决办法吗 Table=sa.Table(“Tablename”,元数据,autoload=True,autoload_with=engine) TypeError回溯(最近一次调用) 在里面 ---->1

我正在尝试从红移数据库获取表的元数据。 即使连接正常,我也会出错。 “TypeError:\u get\u column\u info()获取了一个意外的关键字参数“generated

我尝试了另一个不同服务器的数据库它工作正常。。。 但是不确定这个服务器表有什么问题。 你能帮我想出一个解决办法吗

Table=sa.Table(“Tablename”,元数据,autoload=True,autoload_with=engine)


TypeError回溯(最近一次调用)
在里面
---->1 Table=sa.Table(“经销商尺寸”,元数据,自动加载=True,自动加载=engine)
新功率(cls,*args,**kw)
警告中的~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\util\deprecations.py(fn,*args,**kwargs)
126                     )
127
-->128返回fn(*args,**kwargs)
129
130 doc=fn.\uuuuu doc\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\sql\schema.py in\uuuuuu new\uuuu(cls,*args,**kw)
494除:
495和util.safe_reraise()
-->496元数据。删除表(名称、架构)
497
498@property
~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\util\langhelpers.py in\uuuuu退出(self,type,value,traceback)
66 self._exc_info=None#删除潜在的循环引用
67如果不是仅自我警告:
--->68兼容性(exc_类型、exc_值、exc_tb)
69.其他:
70如果不是compat.py3k和self.\u exc\u info和self.\u exc\u info[1]:
~\AppData\Local\Continuum\anaconda3\lib\`在此处输入代码`site packages\sqlalchemy\util\compat.py以重新登录(tp、值、tb、原因)
151如果值.\uuuu回溯\uuuuuu不是tb:
152提升值。带回溯(tb)
-->153提高价值
154
155 def u(s):
~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\sql\schema.py in\uuuuuu new\uuuu(cls,*args,**kw)
489元数据。添加表(名称、架构、表)
490试试:
-->491表._init(名称、元数据、*args、**kw)
492表。调度。在\u父\u附加后(表,元数据)
493返回表
~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\sql\schema.py in_init(self、name、metadata、*args、**kwargs)
583包括_列,
584(扩展)=(扩展),
-->585 resolve_fks=resolve_fks,
586             )
587
自动加载中的~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\sql\schema.py(self、元数据、自动加载、包含列、排除列、解析fks、扩展打开)
607不包括_列,
608解决问题,
-->609 _extend_on=_extend_on,
610             )
611其他:
~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\engine\base.py in run\u callable(self,callable,*args,**kwargs)
2148         """
2149,以self.\u context\u connect()作为连接:
->2150返回连接运行可调用(可调用,*args,**kwargs)
2151
2152 def execute(self、语句、*多内存、**参数):
~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\engine\base.py in run\u callable(self,callable,*args,**kwargs)
1602
1603         """
->1604返回可调用函数(self、*args、**kwargs)
1605
1606定义运行访问者(自我、访问者可调用、元素、**kwargs):
反射表中的~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\engine\default.py(self、connection、table、include\u列、exclude\u列、resolve\u fks、**opts)
429 insp=来自发动机(连接)的反射检查员
430返回检查反射表(
-->431表,包括列、排除列、解析列、**选项
432         )
433
反射表中的~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\engine\reflection.py(self、table、include\u columns、exclude\u columns、resolve\u fks、\u extend\u on)
638
639用于self.get\u列中的列(
-->640表格名称,模式,**表格.QUARGS
641         ):
642已找到\u表=真
get_列中的~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\engine\reflection.py(self,table_name,schema,**kw)
371
372 col_defs=self.dialogue.get_列(
-->373 self.bind,表名,模式,info\u cache=self.info\u cache,**千瓦
374         )
375对于Colu def中的Colu def:
在get_列中(self、connection、table_name、schema、**kw)
缓存中的~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\engine\reflection.py(fn、self、con、*args、**kw)
54 ret=info\u cache.get(键)
55如果ret为无:
--->56 ret=fn(自身、con、*args、**kw)
57信息缓存[键]=返回
58返回ret
get\u列中的~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\u redshift\dialogue.py(self、connection、table\u name、schema、**kw)
459 default=col.default,notnull=col.notnull,domains=domains,
460枚举=[],模式=列模式,编码=列编码,
-->461注释=列注释)
462列。追加(列信息)
463个返回列
~\AppData\Local\Continuum\anaconda3\lib\site packages\sqlalchemy\u redshift\dialogue.py in\u get\u column\u info(self,*args,**kwargs)
666 column\u info=super(RedshiftDialect,self)。\u获取\u column\u info(
667*args,
-->668**kw
669         )
670如果isinstance(列信息['type'],VARCHAR):
TypeError:\u get\u column\u info()获取了意外的ke
TypeError                                 Traceback (most recent call last)
<ipython-input-98-366ec112cf52> in <module>
----> 1 Table=sa.Table("dim_dealer" ,metadata,autoload=True,autoload_with=engine)

<string> in __new__(cls, *args, **kw)

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\util\deprecations.py in warned(fn, *args, **kwargs)
    126                     )
    127 
--> 128             return fn(*args, **kwargs)
    129 
    130         doc = fn.__doc__ is not None and fn.__doc__ or ""

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\sql\schema.py in __new__(cls, *args, **kw)
    494             except:
    495                 with util.safe_reraise():
--> 496                     metadata._remove_table(name, schema)
    497 
    498     @property

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\util\langhelpers.py in __exit__(self, type_, value, traceback)
     66             self._exc_info = None  # remove potential circular references
     67             if not self.warn_only:
---> 68                 compat.reraise(exc_type, exc_value, exc_tb)
     69         else:
     70             if not compat.py3k and self._exc_info and self._exc_info[1]:

~\AppData\Local\Continuum\anaconda3\lib\`enter code here`site-packages\sqlalchemy\util\compat.py in reraise(tp, value, tb, cause)
    151         if value.__traceback__ is not tb:
    152             raise value.with_traceback(tb)
--> 153         raise value
    154 
    155     def u(s):

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\sql\schema.py in __new__(cls, *args, **kw)
    489             metadata._add_table(name, schema, table)
    490             try:
--> 491                 table._init(name, metadata, *args, **kw)
    492                 table.dispatch.after_parent_attach(table, metadata)
    493                 return table

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\sql\schema.py in _init(self, name, metadata, *args, **kwargs)
    583                 include_columns,
    584                 _extend_on=_extend_on,
--> 585                 resolve_fks=resolve_fks,
    586             )
    587 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\sql\schema.py in _autoload(self, metadata, autoload_with, include_columns, exclude_columns, resolve_fks, _extend_on)
    607                 exclude_columns,
    608                 resolve_fks,
--> 609                 _extend_on=_extend_on,
    610             )
    611         else:

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\engine\base.py in run_callable(self, callable_, *args, **kwargs)
   2148         """
   2149         with self._contextual_connect() as conn:
-> 2150             return conn.run_callable(callable_, *args, **kwargs)
   2151 
   2152     def execute(self, statement, *multiparams, **params):

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\engine\base.py in run_callable(self, callable_, *args, **kwargs)
   1602 
   1603         """
-> 1604         return callable_(self, *args, **kwargs)
   1605 
   1606     def _run_visitor(self, visitorcallable, element, **kwargs):

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\engine\default.py in reflecttable(self, connection, table, include_columns, exclude_columns, resolve_fks, **opts)
    429         insp = reflection.Inspector.from_engine(connection)
    430         return insp.reflecttable(
--> 431             table, include_columns, exclude_columns, resolve_fks, **opts
    432         )
    433 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\engine\reflection.py in reflecttable(self, table, include_columns, exclude_columns, resolve_fks, _extend_on)
    638 
    639         for col_d in self.get_columns(
--> 640             table_name, schema, **table.dialect_kwargs
    641         ):
    642             found_table = True

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\engine\reflection.py in get_columns(self, table_name, schema, **kw)
    371 
    372         col_defs = self.dialect.get_columns(
--> 373             self.bind, table_name, schema, info_cache=self.info_cache, **kw
    374         )
    375         for col_def in col_defs:

<string> in get_columns(self, connection, table_name, schema, **kw)

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\engine\reflection.py in cache(fn, self, con, *args, **kw)
     54     ret = info_cache.get(key)
     55     if ret is None:
---> 56         ret = fn(self, con, *args, **kw)
     57         info_cache[key] = ret
     58     return ret

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy_redshift\dialect.py in get_columns(self, connection, table_name, schema, **kw)
    459                 default=col.default, notnull=col.notnull, domains=domains,
    460                 enums=[], schema=col.schema, encode=col.encode,
--> 461                 comment=col.comment)
    462             columns.append(column_info)
    463         return columns

~\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy_redshift\dialect.py in _get_column_info(self, *args, **kwargs)
    666         column_info = super(RedshiftDialect, self)._get_column_info(
    667             *args,
--> 668             **kw
    669         )
    670         if isinstance(column_info['type'], VARCHAR):

TypeError: _get_column_info() got an unexpected keyword argument 'generated'

print(repr(metadata.tables[Table]))
if sa.__version__ >= '1.3.16':
    # SQLAlchemy 1.3.16 introduced generated columns,
    # not supported in redshift
    kw['generated'] = ''