oracle 消除 SQL Developer 表视图的数据选项卡上的排序顺序
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/407529/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Eliminate sort order on Data tab of SQL Developer table view
提问by Justsalt
In Oracle SQL Developer, one can list the data in a table using the Data tab when viewing a table. There is also a 'Sort...' button to set the sort order of the data you are viewing. This can be very handy for viewing some data on the fly.
在 Oracle SQL Developer 中,可以在查看表时使用“数据”选项卡列出表中的数据。还有一个“排序...”按钮来设置您正在查看的数据的排序顺序。这对于即时查看某些数据非常方便。
The problem: I set a sort order for viewing a particular table which is not supported by the indexes on that table. It seems that SQL Developer does the sort on the fly when you go to view that data. At first the delay wasn't too bad. But the table has grown and now it takes forever. There is no way to stop it except by force quitting SQL Developer, losing anything unsaved. (If you know another way to stop this sort, let me know!) So, I should change the viewing sort order to something else, but you can only access the Sort... button when viewing the data.
问题:我为查看该表的索引不支持的特定表设置了排序顺序。当您查看该数据时,SQL Developer 似乎会即时进行排序。起初,延迟并不算太糟糕。但是桌子已经长大了,现在它需要永远。没有办法阻止它,除非强制退出 SQL Developer,丢失任何未保存的东西。(如果您知道另一种停止这种排序的方法,请告诉我!)因此,我应该将查看排序顺序更改为其他内容,但您只能在查看数据时访问“排序...”按钮。
Is there another way to delete the viewing sort order besides viewing the data?
除了查看数据之外,还有其他方法可以删除查看排序顺序吗?
Where does SQL Developer store this information?
SQL Developer 在哪里存储这些信息?
Any way to stop the sorting of the data after clicking on the data tab while waiting for it to appear?
在等待数据出现的同时单击数据选项卡后,有什么方法可以停止数据的排序?
采纳答案by susanw
I haven't found a command from the GUI to eliminate the sort order but you can use this workaround:
我还没有从 GUI 中找到消除排序顺序的命令,但您可以使用以下解决方法:
- Go in the sqldeveloper settings folder. On M$ Windows is located in %HOME_USER%/Application Data/SQL Developer
- Perform a full text search specifying the name of the sorted column. If the column's name is too common (ex: data) specify another column with a different name in the same table. You will find one or more xml files matching your searching criteria. Those files are table descriptors.
- At the end of the xml descriptor search for the taf element with name 'orderByClause'. If it contains the name of the column you want eliminate from sorting replace the line with an empty element ()
- Restart sqldeveloper and ... sort is not there anymore!
- 进入 sqldeveloper 设置文件夹。在 M$ 上,Windows 位于 %HOME_USER%/Application Data/SQL Developer
- 执行指定排序列名称的全文搜索。如果列的名称太常见(例如:数据),请在同一表中指定具有不同名称的另一列。您将找到一个或多个与您的搜索条件相匹配的 xml 文件。这些文件是表描述符。
- 在 xml 描述符的末尾搜索名称为“orderByClause”的 taf 元素。如果它包含要从排序中消除的列的名称,请将该行替换为空元素 ()
- 重新启动 sqldeveloper 并...... sort 不再存在!
Hope this helps
希望这可以帮助
Cheers, Fabrizio Fortino
干杯,法布里齐奥·福蒂诺
回答by susanw
Easy to fix (at least in v1.5.5, which is what I'm using). There's a prefs option to reset it, read about it here: https://forums.oracle.com/forums/thread.jspa?threadID=860431
易于修复(至少在 v1.5.5 中,这是我正在使用的)。有一个 prefs 选项可以重置它,请在此处阅读:https://forums.oracle.com/forums/thread.jspa?threadID=860431
Go to Tools > Preferences > Database > ObjectViewer Parameters and select the Clear button. This will clear the sort settings.
转至工具 > 首选项 > 数据库 > ObjectViewer 参数并选择清除按钮。这将清除排序设置。
回答by susanw
If you are willing to take a little risk, you can follow start by doing Fabrizio's suggestion, and then clean house as follows:
如果你愿意冒一点风险,你可以按照 Fabrizio 的建议开始,然后按照以下步骤打扫房子:
- Go in the sqldeveloper settings folder. On M$ Windows is located in %HOME_USER%/Application Data/SQL Developer
- Perform a search using the following mask "*tablesettings.xml".
- Delete the files that were returned to you.
Restart sqldeveloper and your problem is gone.
- To be safe, you might want to just move those files to a quarantine directory.
- 进入 sqldeveloper 设置文件夹。在 M$ 上,Windows 位于 %HOME_USER%/Application Data/SQL Developer
- 使用以下掩码“*tablesettings.xml”执行搜索。
- 删除返回给您的文件。
重新启动 sqldeveloper,你的问题就消失了。
- 为安全起见,您可能只想将这些文件移动到隔离目录。
回答by Tony Andrews
I believe there isn't currently a way, but there is a suggested enhancement not to retain the filter between sessions that you can vote on here on the SQL Developer forum
我相信目前没有办法,但有一个建议的增强功能不保留会话之间的过滤器,您可以在 SQL Developer 论坛上投票
回答by Nikolay Petrouchev
- Go in the sqldeveloper settings folder. On M$ Windows is located in %HOME_USER%/Application Data/SQL Developer
- On SQLDEveloper Version 3.0.03 (and up I guess) search for *GridSettings.xml
- Find the file containing xml related to your table/view.
- Either delete the file or remove only the lines corresponding to the columns previously deleted from the table. You need to remove lines from ; ;
- You don't need to restart sqldeveloper. Just disconnecting and connectting back did it for me.
- 进入 sqldeveloper 设置文件夹。在 M$ 上,Windows 位于 %HOME_USER%/Application Data/SQL Developer
- 在 SQLDEveloper 版本 3.0.03(和我猜)上搜索 *GridSettings.xml
- 找到包含与您的表/视图相关的 xml 的文件。
- 删除文件或仅删除与先前从表中删除的列对应的行。您需要从 ; 中删除行 ;
- 您不需要重新启动 sqldeveloper。只是断开连接并重新连接对我来说就完成了。