
在开发调试过程中,使用软件的数据库工具进行数据入库操作时,尝试导入栅格数据。本地已正确配置SQL Server与ArcSDE运行环境,软件能够顺利连接至目标数据库。但在执行导入动作时,系统报错:Underlying DBMS did not accept username/password(底层数据库管理系统未接受用户名或密码)。经分析,该异常出现在调用 rasterSdeServerOperation.Create() 方法的位置,说明虽然数据库连接正常建立,但在创建SDE服务实例阶段因认证失败而中断。问题可能与用户权限、凭据验证机制或SDE服务端设置相关。
问题根源在于后台代码中硬编码了默认密码,未动态获取用户在界面输入的账号信息,导致即便修改登录凭据也无法通过验证。
即使后续调整代码以读取用户输入的密码,问题仍未解决,sdeCon.Password 未能成功获取 propertySet 中的密码值。
进一步排查发现,ESRI对 IPropertySet::GetProperty 接口施加了安全限制:允许写入密码,但禁止直接读取已存储的密码内容。此设计出于安全考虑,防止敏感凭证被明文暴露,提升系统在处理认证信息时的安全级别,避免潜在的信息泄露风险。
最终解决方案是移除代码中的 sdeCon.Password = sde 这一行赋值操作。
更优的做法是删除图中所示的 sdeCon.Password = propertySet.GetProperty(password).ToString() 这行代码,即不再通过 IPropertySet 显式设置密码字段,仅保留服务器地址、用户名等非敏感属性的赋值逻辑。当程序运行时,若检测到密码缺失,系统将自动弹出身份验证窗口,提示用户手动输入凭据(如图所示)。该方式避免了密码以明文形式存在于代码或配置文件中,提高了安全性,同时也增强了系统的灵活性和适用性,尤其适合需要动态认证的应用场景。
酷纬企业网站管理系统是酷纬信息开发的为企业网站提供一揽子解决方案的营销型网站系统,后台采用PHP+Mysql架构,内置企业简介模块、新闻模块、产品模块、图片模块、下载模块、在线留言模块、常见问题模块、友情链接模块。前台采用DIV+CSS,遵循SEO标准,通过模板或者定制为企业提供专业的营销型网站。
95

此外,在开发过程中还遇到“缺少ArcGIS Engine Enterprise Geodatabase许可”的提示信息,表明当前运行环境未激活访问企业级地理数据库所需的授权。该许可为ArcGIS Engine组件中用于连接和操作企业级Geodatabase的关键权限。可通过ArcGIS Administrator工具检查本机已启用的扩展模块,确认是否包含Enterprise Geodatabase支持功能。亦可在代码中调用相应的许可检测接口,查询当前可用许可类型,判断是否存在所需权限。
如图所示,GDB Update许可实际等同于ArcGIS Engine Enterprise Geodatabase许可。这意味着,在ArcGIS Administrator界面中显示的“Geodatabase Update”许可,本质上即是ArcGIS Engine所提供对企业级地理数据库的编辑与更新权限,二者名称虽异,实质相同,功能完全一致,可保障用户在分布式或多用户环境中具备必要的数据访问与修改能力。

以上就是ArcGIS Engine开发常见问题解析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号