ORA-00980: 同义词转换不再有效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-00980: 同义词转换不再有效相关的知识,希望对你有一定的参考价值。

请问各位朋友
ORA-00980: 同义词转换不再有效
1,引起这样错误的原因一般有哪些;
2,常规的处理(解决)方案有哪些;
谢谢

1、编辑同义词,对象所有者更改为管理员;
2、删除同义词,重建同义词,重建时注意将对象所有者更改为管理员;
参考技术A drop后重新再创建一次 参考技术B 老太婆 参考技术C fdsaf

升级后情节不再有效

【中文标题】升级后情节不再有效【英文标题】:plot no longer works after upgrade 【发布时间】:2021-05-25 22:50:52 【问题描述】:

我最近使用 Python 3.6.4 将 pandas 升级到 1.1.5,但我无法再绘制任何带有日期时间索引列的图表。

请参阅下面的示例,其中我从 csv 文件导入时间序列。我也尝试过注册 matplotlib 转换器,以防这是问题所在。我收到如下所示的错误消息。顺便说一句,seaborn 也不再有效,但不确定这是否相关。

谢谢

import matplotlib.pyplot as plt
import pandas as pd

from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()

df = pd.read_csv('example.csv', parse_dates=True, index_col=0, dayfirst=True)

df.head()

Click here to see output for df.head()

df.plot()

如果我尝试绘图,我会收到以下错误

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-37-848b80e64df8> in <module>()
----> 1 df.plot()

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_core.py in __call__(self, *args, **kwargs)
    947                     data.columns = label_name
    948 
--> 949         return plot_backend.plot(data, kind=kind, **kwargs)
    950 
    951     __call__.__doc__ = __doc__

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_matplotlib\__init__.py in plot(data, kind, **kwargs)
     59             kwargs["ax"] = getattr(ax, "left_ax", ax)
     60     plot_obj = PLOT_CLASSES[kind](data, **kwargs)
---> 61     plot_obj.generate()
     62     plot_obj.draw()
     63     return plot_obj.result

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_matplotlib\core.py in generate(self)
    269         self._compute_plot_data()
    270         self._setup_subplots()
--> 271         self._make_plot()
    272         self._add_table()
    273         self._make_legend()

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_matplotlib\core.py in _make_plot(self)
   1124                 stacking_id=stacking_id,
   1125                 is_errorbar=is_errorbar,
-> 1126                 **kwds,
   1127             )
   1128             self._add_legend_handle(newlines[0], label, index=i)

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_matplotlib\core.py in _plot(cls, ax, x, y, style, column_num, stacking_id, **kwds)
   1143             cls._initialize_stacker(ax, stacking_id, len(y))
   1144         y_values = cls._get_stacked_values(ax, stacking_id, y, kwds["label"])
-> 1145         lines = MPLPlot._plot(ax, x, y_values, style=style, **kwds)
   1146         cls._update_stacker(ax, stacking_id, y)
   1147         return lines

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_matplotlib\converter.py in wrapper(*args, **kwargs)
     63     def wrapper(*args, **kwargs):
     64         with pandas_converters():
---> 65             return func(*args, **kwargs)
     66 
     67     return wrapper

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_matplotlib\core.py in _plot(cls, ax, x, y, style, is_errorbar, **kwds)
    666             else:
    667                 args = (x, y)
--> 668             return ax.plot(*args, **kwds)
    669 
    670     def _get_index_name(self):

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\__init__.py in inner(ax, *args, **kwargs)
   1715                     warnings.warn(msg % (label_namer, func.__name__),
   1716                                   RuntimeWarning, stacklevel=2)
-> 1717             return func(ax, *args, **kwargs)
   1718         pre_doc = inner.__doc__
   1719         if pre_doc is None:

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\axes\_axes.py in plot(self, *args, **kwargs)
   1371 
   1372         for line in self._get_lines(*args, **kwargs):
-> 1373             self.add_line(line)
   1374             lines.append(line)
   1375 

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\axes\_base.py in add_line(self, line)
   1777             line.set_clip_path(self.patch)
   1778 
-> 1779         self._update_line_limits(line)
   1780         if not line.get_label():
   1781             line.set_label('_line%d' % len(self.lines))

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\axes\_base.py in _update_line_limits(self, line)
   1799         Figures out the data limit of the given line, updating self.dataLim.
   1800         """
-> 1801         path = line.get_path()
   1802         if path.vertices.size == 0:
   1803             return

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\lines.py in get_path(self)
    955         """
    956         if self._invalidy or self._invalidx:
--> 957             self.recache()
    958         return self._path
    959 

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\lines.py in recache(self, always)
    655     def recache(self, always=False):
    656         if always or self._invalidx:
--> 657             xconv = self.convert_xunits(self._xorig)
    658             x = _to_unmasked_float_array(xconv).ravel()
    659         else:

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\artist.py in convert_xunits(self, x)
    189         if ax is None or ax.xaxis is None:
    190             return x
--> 191         return ax.xaxis.convert_units(x)
    192 
    193     def convert_yunits(self, y):

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\axis.py in convert_units(self, x)
   1489             return x
   1490 
-> 1491         ret = self.converter.convert(x, self.units, self)
   1492         return ret
   1493 

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_matplotlib\converter.py in convert(values, unit, axis)
    254             values = [DatetimeConverter._convert_1d(v, unit, axis) for v in values]
    255         else:
--> 256             values = DatetimeConverter._convert_1d(values, unit, axis)
    257         return values
    258 

C:\Program Files\Anaconda3\lib\site-packages\pandas\plotting\_matplotlib\converter.py in _convert_1d(values, unit, axis)
    289                 pass
    290 
--> 291             values = dates.date2num(values)
    292 
    293         return values

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\dates.py in date2num(d)
    394         if not d.size:
    395             return d
--> 396         return _to_ordinalf_np_vectorized(d)
    397 
    398 

C:\Program Files\Anaconda3\lib\site-packages\numpy\lib\function_base.py in __call__(self, *args, **kwargs)
   2106             vargs.extend([kwargs[_n] for _n in names])
   2107 
-> 2108         return self._vectorize_call(func=func, args=vargs)
   2109 
   2110     def _get_ufunc_and_otypes(self, func, args):

C:\Program Files\Anaconda3\lib\site-packages\numpy\lib\function_base.py in _vectorize_call(self, func, args)
   2184             res = func()
   2185         else:
-> 2186             ufunc, otypes = self._get_ufunc_and_otypes(func=func, args=args)
   2187 
   2188             # Convert args to object arrays first

C:\Program Files\Anaconda3\lib\site-packages\numpy\lib\function_base.py in _get_ufunc_and_otypes(self, func, args)
   2144 
   2145             inputs = [arg.flat[0] for arg in args]
-> 2146             outputs = func(*inputs)
   2147 
   2148             # Performance note: profiling indicates that -- for simple

C:\Program Files\Anaconda3\lib\site-packages\matplotlib\dates.py in _to_ordinalf(dt)
    243         tzi = UTC
    244 
--> 245     base = float(dt.toordinal())
    246 
    247     # If it's sufficiently datetime-like, it will have a `date()` method

AttributeError: 'numpy.datetime64' object has no attribute 'toordinal'

【问题讨论】:

你用的是什么版本的matplotlib? Matplotlib 2.1.2 我很惊讶 pandas 可以让你用这么旧的 matplotlib 安装更新的 pandas。当然 matplotlib 已经优雅地处理 datetime64 几年了。 这绝对是问题所在。感谢您的 cmets。 【参考方案1】:

旧版本的 matplotlib (2.1.2) 已过时,不再与新版本的 pandas (1.1.5) 兼容。升级到 matplotlib 3.3.4 解决了这个问题 - 如 cmets 中所述。

【讨论】:

以上是关于ORA-00980: 同义词转换不再有效的主要内容,如果未能解决你的问题,请参考以下文章

ORA-00980 同义词翻译在 PLSQL 中不再有效

oracle 创建所有表的同义词

NLTK 将标记化的句子转换为同义词集格式

text 将WoneF数据库文件转换为Solr格式的同义词文件

jOOQ 可以为 Oracle 同义词生成代码吗?

efficient是啥意思及反义词