Map 3D / MapGuide 连接 Oracle 找不到oci.dll?

Map 3D 和 MapGuide使用FDO(Feature Data Object)技术可以无需转换的访问各种数据格式,包括SDF、SHP、raster数据,和 Sql Server Spatial,MySql,PostgreSQL和Oracle。

 

我在台式机(Win 7 32bit)上安装了Oracle 11g R1做数据库服务器,我的笔记本用的是Win 7 64, 所以我决定装一个x64的Oracle 客户端。我配置Oracle其实是想配置一个Map 3D 2012/ AIMS 2012中关于企业行业模型(Enterprise Industrial Model)的环境,看了一下系统需求, Win7的话需要Oracle 11g R2的客户端,于是按照要求在笔记本上安装了Oracle 11g R2 x64的客户端。

 

安装过程都蛮顺利,很快就安装完毕了。然后开始配置本地服务名,打开Net Manager(在安装过程中也可以通过 Net Configration Assistant向导来配置,不过我一般喜欢用Net Manager),点左上角的加号,取一个容易记的名字,比如Oracel_MyPC,

image

在下一步中选择TCP/IP协议:

image

 

在第3页中,主机名填写我安装了Oracle 服务器的机器名,端口就默认的1521。这里需要提醒一下,如果你需要像我一样从其他的计算机来访问Oracle服务,需要在安装Oracle服务器的机器上打开1521端口。如果你的oracle服务器和客户端都安装在本地,那就简单了,主机名填127.0.0.1就行了。

image

这里填写安装Oracle服务器时的服务名,一般是ORCL:

image

至此设置完毕,不放心可以测试一下,不过确保你用了正确的用户名,缺省的那个scott可能因为是锁定状态,测试不成功从而误导你以为是这个配置有错。不过只要你的防火墙端口打开,上面的几个参数没填错的话,一般没问题。

image

 

设置完毕,记得保存网络设置。

image

 

好了,现在就在MapGuide里试试看,打开Autodesk Infrastructure Studio 2012, 如果你用MapGuide 2011的话那就是MapGuide Studio 2011. new一个Data Connection,选择Autodek FDO Provider for Oracle:

image

输入上面定义的本地服务名和用户密码,我的Oracle 数据库已经事先通过Map 3D 的BulkCopy考了一些GIS数据进去了。

image

但是会提示下面的错误信息:

 

Unable to complete request to Site

---------------------------

An exception occurred in FDO component.

The runtime was not found (module 'OCI.dll'). Please verify your Oracle client component installation.

---------------------------

查找原因就在于没有正确设置PATH和Oracle_Home环境变量:

在系统环境变量中把Oracle 客户端的路径C:\Oracle\product\11.2.0\client_1\bin;加入到PATH变量中;同时设置Oracle_Home变量的值为C:\Oracle\product\11.2.0\client_1,注意后面不要带“\”. 重启计算机。

 

再从安装上面的方法从MapGuide Studio中连接oracle ,选择DataStore,version为LIVE,点击“Test Connection”按钮,应该显示已经正常连接。

image

剩下的就是创建图层Layer和一起的方法一致,不再重复了,不清楚的同学翻一前的老帖子或者看MapGuide Studio的帮助。

 

Map 3D中连接oracle的方法也类似,在TaskPane中点Data,选择Connect To Data,打开Data Connection窗口,选择Add Oracle Connection,连接名输入框中输入上面设置好的Oracle网络服务名,点login按钮登录,注意不能用sys等DBA用户登录。通过验证后可以选择Data Store和Version,连接即可。

image

成功连接后,你就可以看Oracle数据库中的图层,选中一些图层,点Add to map按钮即可在Map 3D中打开该图层。

 

自己试验一下吧。

你可能感兴趣的:(oracle)