ArcSDE直连总结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. INSTANCE sde:oracle11g
PASSWORD pass@198
在我们系统中 instance 对应的是 服务
9.3
INSTANCE sde:oracle11g (oracle9i oralce10g,服务器的oracle版本)
1.错误描述:Operation Failed
此种错误一般出现在直连字符串出现错误时 特别是instance字符串格式错误时
2.Cannot connect to database because the database client software failed to load. Be sure the database client software is installed and configured correctly.
如果数据库端口是默认端口1521则ip后不能带端口号, 否则报错;如果不是默认端口1521,则需要带上端口 如:sde:oracle11g:192.168.1.198:1622/orcl
2. INSTANCE sde:oracle11g:198
其中198为oracle net manager 配置的 名称
如果机器数据库客户端安装无问题,但依然报此错误,则说明直连程序所在目录有可能存在oracle 相关dll(例如 oci.dll),其版本与字符串中 oracle描述版本不匹配
有两种方法可解决此问题
a. 相关oracle dll 版本与直连连接字符串oracle描述,与服务器oracle版本保持一致,此种方法是最稳妥的方式。直连对服务器,客户端的版本一致性要求比较高
ห้องสมุดไป่ตู้
b. 连接字符串中 描述与 程序所在目录中 oracle 相关dll 版本一致.如:服务器是oracle11g,oci.dll 是 oracle9i,则 连接字符串(instance)改成 sde:oracle9i:192.168.1.198/orcl 连接也可成功,但是否有后续的问题不能保证
10.1
1. INSTANCE sde:oracle11g:192.168.1.198/orcl (oracle10g或oracle9i)(数据库是默认端口号1521时)
INSTANCE sde:oracle11g:192.168.1.198:1622/orcl (数据库不是是默认端口号1521,而是1622时)
PASSWORD pass@198 (198,oracle netmanager 配置的服务命名)
或者如格式:
INSTANCE sde:oracle11g
PASSWORD sde@192.168.1.198:1521/orcl
直连出错分析:
propertySet.SetProperty("USER", user);
propertySet.SetProperty("PASSWORD", password);
propertySet.SetProperty("VERSION", version);
直连需要注意问题:
1.从10.1以后,访问SDE推荐采用直接连接数据库的形式,因此连接数据库也就选用了各自的数据库客户端进行访问管理,因此,Oracle Client是必须安装的
2.采用直连方式连接数据库,并不需要安装ArcSDE
3.oracle客户端必须安装32位的,因为desktop是32位的。而arcgis server 用的是64位客户端,使用的安装oracle服务端后自带的客户端,因此和我们安装的32位客户端不冲突
2) 为可伸缩的系统提供更多的选择
直连架构将ArcSDE组件的功能迁移到桌面执行,移除了服务器端的ArcSDE负载,卸载了20%-40%的负载,释放更多的资源可供DBMS使用,为数据库服务器提供了更好的可伸缩性。
3) 直连速度更快 直连在客户机上执行处理,比服务器端处理更快。与客户机上执行处理相比,服务器端执行要同时处理来自许多客户机的请求,然后把计算结果需通过网络传送到客户机。降低了服务器端内存的需求
通过SDE服务来连接Oracle数据库,SDE服务存在很多不稳定的地方。当连接SDE的用户数多了的时候经常出现故障。为了避免这种情况,SDE提供了直连Oracle的方式,即通过Oracle的连接方式来连接
直连的优点:
1) 不管理ArcSDE服务,不需要安装ArcSDE软件
直连数据库驱动不需要管理ArcSDE服务,不需要安装、配置和启动中间进程giomgr.exe。
IWorkspaceFactory2 workspaceFactory = new SdeWorkspaceFactoryClass();
IWorkspace workspace = workspaceFactory.Open(propertySet, 0);
直连设置连接参数:
IPropertySet propertySet = new PropertySetClass();
propertySet.SetProperty("SERVER", server);
propertySet.SetProperty("INSTANCE", instance);
PASSWORD pass@198
在我们系统中 instance 对应的是 服务
9.3
INSTANCE sde:oracle11g (oracle9i oralce10g,服务器的oracle版本)
1.错误描述:Operation Failed
此种错误一般出现在直连字符串出现错误时 特别是instance字符串格式错误时
2.Cannot connect to database because the database client software failed to load. Be sure the database client software is installed and configured correctly.
如果数据库端口是默认端口1521则ip后不能带端口号, 否则报错;如果不是默认端口1521,则需要带上端口 如:sde:oracle11g:192.168.1.198:1622/orcl
2. INSTANCE sde:oracle11g:198
其中198为oracle net manager 配置的 名称
如果机器数据库客户端安装无问题,但依然报此错误,则说明直连程序所在目录有可能存在oracle 相关dll(例如 oci.dll),其版本与字符串中 oracle描述版本不匹配
有两种方法可解决此问题
a. 相关oracle dll 版本与直连连接字符串oracle描述,与服务器oracle版本保持一致,此种方法是最稳妥的方式。直连对服务器,客户端的版本一致性要求比较高
ห้องสมุดไป่ตู้
b. 连接字符串中 描述与 程序所在目录中 oracle 相关dll 版本一致.如:服务器是oracle11g,oci.dll 是 oracle9i,则 连接字符串(instance)改成 sde:oracle9i:192.168.1.198/orcl 连接也可成功,但是否有后续的问题不能保证
10.1
1. INSTANCE sde:oracle11g:192.168.1.198/orcl (oracle10g或oracle9i)(数据库是默认端口号1521时)
INSTANCE sde:oracle11g:192.168.1.198:1622/orcl (数据库不是是默认端口号1521,而是1622时)
PASSWORD pass@198 (198,oracle netmanager 配置的服务命名)
或者如格式:
INSTANCE sde:oracle11g
PASSWORD sde@192.168.1.198:1521/orcl
直连出错分析:
propertySet.SetProperty("USER", user);
propertySet.SetProperty("PASSWORD", password);
propertySet.SetProperty("VERSION", version);
直连需要注意问题:
1.从10.1以后,访问SDE推荐采用直接连接数据库的形式,因此连接数据库也就选用了各自的数据库客户端进行访问管理,因此,Oracle Client是必须安装的
2.采用直连方式连接数据库,并不需要安装ArcSDE
3.oracle客户端必须安装32位的,因为desktop是32位的。而arcgis server 用的是64位客户端,使用的安装oracle服务端后自带的客户端,因此和我们安装的32位客户端不冲突
2) 为可伸缩的系统提供更多的选择
直连架构将ArcSDE组件的功能迁移到桌面执行,移除了服务器端的ArcSDE负载,卸载了20%-40%的负载,释放更多的资源可供DBMS使用,为数据库服务器提供了更好的可伸缩性。
3) 直连速度更快 直连在客户机上执行处理,比服务器端处理更快。与客户机上执行处理相比,服务器端执行要同时处理来自许多客户机的请求,然后把计算结果需通过网络传送到客户机。降低了服务器端内存的需求
通过SDE服务来连接Oracle数据库,SDE服务存在很多不稳定的地方。当连接SDE的用户数多了的时候经常出现故障。为了避免这种情况,SDE提供了直连Oracle的方式,即通过Oracle的连接方式来连接
直连的优点:
1) 不管理ArcSDE服务,不需要安装ArcSDE软件
直连数据库驱动不需要管理ArcSDE服务,不需要安装、配置和启动中间进程giomgr.exe。
IWorkspaceFactory2 workspaceFactory = new SdeWorkspaceFactoryClass();
IWorkspace workspace = workspaceFactory.Open(propertySet, 0);
直连设置连接参数:
IPropertySet propertySet = new PropertySetClass();
propertySet.SetProperty("SERVER", server);
propertySet.SetProperty("INSTANCE", instance);