3

既存のアプリケーションセットをWinXPからWin7に移行しています。サードパーティのアプリケーションがあり、ODBCを介してローカルのSQL Anywhere 9データベースにアクセスするユーザーのセッションで起動および実行されます(dbeng9を使用してオンデマンドで起動されます)。同じマシン上に、ODBCを介してローカルSQLAnywhereデータベースにもアクセスするASP.NETWebサイトがあります。両方のプロセスがセッション0で実行されているため、これら2つのアプリケーションはWinXPでうまく連携します。

Win 7では、ASP.NETサイトで、指定されたデータベースファイルが既に使用されていることを示すODBCエラーが発生します。これは、サードパーティのアプリが最初に起動し、ユーザーのセッション(通常はセッション1)でdbeng9のインスタンスを(ODBC経由で)起動するためです。次に、ASP.NETが起動し、同じデータベースへの接続を試みます。ODBCドライバーは、dbeng9のインスタンスが現在のセッション(セッション0)で実行されていないことを確認し、インスタンスを起動しようとします。インスタンスは、ログオンしているユーザーによって既に使用されているため、データベースファイルにアクセスできません。セッション1。

ローカルSQLAnywhereデータベースでのセッション分離の問題を解決するための提案はありますか?

ODBCがオンデマンドでインスタンスを起動できるようにするのではなく、サービスとしてdbeng9を実行することを考えました。ただし、SQL Anywhereはサードパーティ製品にバンドルされているため、PCにはdbsrvがなく、これがライセンスにどのように影響するかはわかりません。

ASP.NETサイトには、ローカルPCからのみアクセスできます。サードパーティのWebサーバーでASP.NETサイトを実行すると、ユーザーのセッションでASP.NETサイトが実行されますか?(注:これは1,000台のマシンで実行されるため、無料または非常に低コストのオプションが必須です。)

  • Visual StudioにバンドルされているASP.NET開発サーバーはこの方法で再配布できますか?
  • IIS7またはIIS7Expressは、ユーザーのセッションで実行される「ローカルのみ」モードで実行するように構成できますか?
4

1 に答える 1

2

SQL Anywhere バージョン 9.0.2.3420 以降を実行している限り、サービスとして実行されているデータベース サーバーは、そのマシン上の任意のセッションで実行されているクライアントから共有メモリを介して表示されます。

dbsvc ユーティリティまたは Sybase Central を使用してサービスを作成できる場合は、それが最善の策です。これがライセンスの下で許可されているかどうかを確認するには、サードパーティのベンダーに相談する必要があります。

于 2010-08-05T20:41:01.690 に答える