OGR在web工程找不到OCI的Driver问题


OGR使用过程中的相关问题及解决 C#

OGRGDAL库的一部分。使用过程中主要涉及两方面:一是把相关的dll文件和gdalplugins文件夹放在项目的bin目录下;二是在项目中添加引用,主要是四个dll文件:ogr_csharp.dll;osr_csharp.dll;gdal_csharp.dll;gdal.const_csharp.dll

在使用过程中碰到的一个问题:

C#中,windows工程和web工程的权限可能存在不同,在web工程里,即使把OGR的相关dll文件全部拷贝到项目工程的bin目录下依然找不到ogr_OCI.dll,在windows工程里则没有这个问题;在windows工程里可以通过OSGeo.OGR.Ogr.GetDriverByName("OCI")来获取连接OracleSpatialDriver,但是在web工程里就不能获取该Driver

解决方法:

配置OGR的环境变量:GDAL_DRIVER_PATH = “\lib\ gdalplugins”;

在项目中我配置的是gdalplugins 的绝对路径,即“D:\workplace\test\OGRweb\OGRweb\bin\gdalplugins”

PS

找不到OCIdll文件时,使用DIIImport方法,RegisterOGROCI函数为ogr_OCI.dll里的方法;找不到dll时可以使用这种方法

const string PATH = "D:/workplace/test/OGRweb/OGRweb/bin/gdalplugins/ogr_OCI.dll";

[DllImport(PATH, CharSet = CharSet.Auto)]

public extern static void RegisterOGROCI();

优质内容筛选与推荐>>
1、线程中的例题
2、读《WCF技术剖析》(卷一)笔记(一)
3、.net网络速度测试-转
4、ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes
5、Microsoft Power BI Desktop概念学习系列之Microsoft Power BI Desktop的官网自带示例数据(图文详解)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号