总结
通过def定义文件绕过选取表名的操作, 从而避免界面无响应
问题
使用PLSQL的文本导入器时, 当选取的所有者下表较多时, 会由于查询数据过多导致界面无响应或等待超长时间
注意是选取表名的时候无响应, 不是导入数据的过程中无响应
步骤
- 通过菜单栏
工具 > 文本导入器打开导入窗口, 可以见到顶部几个按钮, 鼠标停留在按钮上可以看到提示信息

- 这里先点击打开文件按钮, 其余3个先不操作, 选择要导入的文件, 导入后可以查看到预览数据, 按需要调整字段等信息

- 点击"到 oracle 的数据"切换界面
- 这里
跳过选取所有者和表的操作, 因为所有者下的表过多, 选取表时, 界面就无响应 - 选取字段列表中的第一项, 在右侧, 切换一下字段类型, 这一步目的是激活保存按钮
- 点击保存为按钮, 地址选到桌面或其他方便的位置, 名称随意

- 用文本编辑器打开刚才保存的文件, 文件类型应该是def, 大约在第11/12行, 找到如下内容并修改为目标所有者(用户名)和表名, 然后保存
TableOwner=表所在的用户
OracleTable=表名称
如本例中的
TableOwner=scott
OracleTable=TEXT_IMPORT
- 返回PLSQL, 点击保存旁边的打开定义文件按钮, 选择刚才编辑的文件

- 此时所有者和表就填好了
- 选择字段列表中的第一个字段, 在右侧选择对应的字段和类型
- 到此就通过定义文件的方式跳过了查询用户表导致的无响应问题