在.NET Web API应用程序中创建SAConnection对象时出错。

2020-09-08 15:04发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们在IIS/IIS Express上运行了.NET Web应用程序,并在项目中添加了" iAnywhere.Data.SQLAnywhere.v4.0.dll"。 什么时候尝试创建如下所示的SAConnection对象:

SAConnection saConn = new SAConnection();

我们遇到以下错误:

iAnywhere.Data.SQLAnywhere.SAException(0x80004005):找不到语言资源文件(dblgen16.dll)。 在iAnywhere.Data.SQLAnywhere.SAConnection..cctor()处的iAnywhere.Data.SQLAnywhere.SAUnmanagedDll.get_Instance()处的iAnywhere.Data.SQLAnywhere.SAUnmanagedDll..ctor()

注意:Bin文件夹中存在dblgen16.dll文件。 我试图部署到IIS并收到相同的错误。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们在IIS/IIS Express上运行了.NET Web应用程序,并在项目中添加了" iAnywhere.Data.SQLAnywhere.v4.0.dll"。 什么时候尝试创建如下所示的SAConnection对象:

SAConnection saConn = new SAConnection();

我们遇到以下错误:

iAnywhere.Data.SQLAnywhere.SAException(0x80004005):找不到语言资源文件(dblgen16.dll)。 在iAnywhere.Data.SQLAnywhere.SAConnection..cctor()处的iAnywhere.Data.SQLAnywhere.SAUnmanagedDll.get_Instance()处的iAnywhere.Data.SQLAnywhere.SAUnmanagedDll..ctor()

注意:Bin文件夹中存在dblgen16.dll文件。 我试图部署到IIS并收到相同的错误。

付费偷看设置
发送
5条回答
SAP小黑
1楼-- · 2020-09-08 15:33

IIS运行服务。 将所需文件的目录位置添加到SYSTEM环境路径变量。 将需要重新启动IIS以获取对SYSTEM路径的更改(重新启动将达到相同的效果)。

ZJXianG
2楼-- · 2020-09-08 15:35

bin目录是否包含IIS进程的PATH变量中列出的dblgen16.dll?

架构(32位/64位)是否匹配?

HTH

Volker

N-Moskvin
3楼-- · 2020-09-08 15:26

如果IIS作为应用程序运行,则它共享它从其开始的会话的PATH变量(或者从开始时开始它的一个副本)。 如果它作为服务运行,它将在运行该服务所用帐户的环境(通常是本地系统)下运行。

我想Visual Studio应该足够聪明,可以正确地对32/64位运行时文件进行排序,但是我不熟悉您的特定设置。

-Volker

me_for_i
4楼-- · 2020-09-08 15:12

感谢Volker快速响应。

在通过Visual Studio运行我的应用程序之后,我将所有Dll复制到Bin文件夹中,然后使用IIS Express在Visual Studio 2015中工作。

dbcon16.dll

dblgen16.dll

iAnywhere.Data.SQLAnywhere.v4.0.config

iAnywhere.Data.SQLAnywhere.v4.0.dll

policy.16.0.iAnywhere.Data.SQLAnywhere.v4.0.dll

当我尝试创建SAConnection对象时出现错误,如下所示:

SAConnection saConn = new SAConnection();

我不确定如何设置IIS/IIS Express进程的PATH变量。 我正在使用"任何CPU"运行,目标平台是x86。

亦是此间程序员
5楼-- · 2020-09-08 15:21

@sampat独立的.NET Windows应用程序和.NET Web应用程序在不同的登录帐户(用户)下运行。 Windows应用程序可以在由USER和SYSTEM路径组成的路径中找到DLLS。 IIS没有相同的路径-它仅使用SYSTEM路径(假定IIS服务登录帐户尚未更改)。

一周热门 更多>