gpt4 book ai didi

asp.net - 本地 SQL Anywhere 数据库的 session 隔离问题

转载 作者:行者123 更新时间:2023-12-03 22:00:15 26 4
gpt4 key购买 nike

我正在将一组现有的应用程序从 Win XP 迁移到 Win 7。我们有一个第 3 方应用程序,它由用户 session 启动并在用户 session 中运行,它通过 ODBC 访问本地 SQL Anywhere 9 数据库(使用 dbeng9 按需启动).在同一台机器上,我们有一个 ASP.NET 网站,它也通过 ODBC 访问本地 SQL Anywhere 数据库。这两个应用程序在 Win XP 中可以很好地协同工作,因为两个进程都在 session 0 中运行。

在 Win 7 中,ASP.NET 站点遇到 ODBC 错误,指出指定的数据库文件已在使用中。这是因为第 3 方应用程序首先启动并在用户 session (通常是 session 1)中启动 dbeng9 实例(通过 ODBC)。然后,ASP.NET 启动并尝试连接到同一个数据库。 ODBC 驱动程序发现 dbeng9 的​​一个实例未在当前 session ( session 0)中运行,并尝试启动一个实例,此时它无法访问数据库文件,因为它已被登录用户使用第 1 节。

有人对解决本地 SQL Anywhere 数据库的 session 隔离问题有什么建议吗?

我考虑将 dbeng9 作为服务运行,而不是让 ODBC 按需启动实例。但是,由于 SQL Anywhere 与第 3 方产品捆绑在一起,因此 PC 没有 dbsrv,我不确定这将如何影响许可。

只能从本地 PC 访问 ASP.NET 站点。在第 3 方 Web 服务器中运行 ASP.NET 站点会导致它在用户 session 中执行吗? (注意:因为它在 1,000 台机器上运行,所以必须选择免费或非常低成本的选项。)

  • 是 ASP.NET 开发服务器与 Visual Studio 捆绑在一起以这种方式重新分发?
  • IIS 7 或 IIS 7 Express 能否配置为“仅在本地”运行它在其中执行的模式用户 session ?

最佳答案

只要您运行的是 SQL Anywhere 版本 9.0.2.3420 或更高版本,作为服务运行的数据库服务器应该可以通过共享内存从在该计算机上任何 session 中运行的客户端可见。 p>

如果您能够使用 dbsvc 实用程序或 Sybase Central 创建服务,那将是您的最佳选择。您必须与第三方供应商联系,看看您的许可是否允许这样做。

关于asp.net - 本地 SQL Anywhere 数据库的 session 隔离问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3415669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com