You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2022连接Oracle无法显示Other Users节点如何解决

针对该问题的可行解决方案
  • 第一步先确认账号权限:你使用的连接账号需要提前获得Shared schema下对象的访问权限,用DBA账号执行以下授权语句即可:
-- 授权查询所有表权限
GRANT SELECT ON SHARED.* TO <你的登录账号>;
-- 授权执行存储过程权限
GRANT EXECUTE ON SHARED.* TO <你的登录账号>;

如果不需要全量权限,可以把语句中的*替换为对应要访问的表名或存储过程名。

  • 不需要依赖VS可视化节点也可直接调用存储过程:即使服务器资源管理器不显示Other Users节点,你只需要在代码中调用时显式指定schema前缀即可,.NET Framework Data Provider for Oracle的调用示例如下:
using System.Data;
using System.Data.OracleClient;
// 替换为你自己的连接字符串
string connectionString = "Data Source=<Oracle实例名>;User Id=<你的账号>;Password=<你的密码>;";
using (OracleConnection connection = new OracleConnection(connectionString))
{
    connection.Open();
    using (OracleCommand command = new OracleCommand())
    {
        command.Connection = connection;
        // 显式指定schema名.存储过程名即可访问其他用户下的对象
        command.CommandText = "SHARED.<目标存储过程名>";
        command.CommandType = CommandType.StoredProcedure;
        // 按存储过程定义添加对应参数,示例如下
        command.Parameters.Add("p_input", OracleType.VarChar, 50).Value = "输入参数值";
        command.Parameters.Add("p_output", OracleType.VarChar, 100).Direction = ParameterDirection.Output;
        
        command.ExecuteNonQuery();
        // 读取输出参数值
        string result = command.Parameters["p_output"].Value.ToString();
    }
}
  • 若需要在VS服务器资源管理器中看到对应节点,可以调整连接过滤规则:
    1. 右键已创建的Oracle连接,选择过滤选项
    2. 在过滤配置页勾选显示所有schema,或者手动将Shared添加到允许展示的schema列表
    3. 刷新连接后即可看到Other Users下的Shared节点及对应的表、存储过程等对象

注意:.NET Framework内置的Oracle数据提供程序已被官方标记为弃用,后续待适配VS2022的Oracle Developer Tools发布后,建议切换为Oracle官方提供的ODP.NET驱动,可获得更完善的功能支持和兼容性。


内容的提问来源于stack exchange,提问作者Skyler Gunn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:45:09