C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[11]: SQLiteのサーバでの接続法


(過去ログ 69 を表示中)

[トピック内 14 記事 (1 - 14 表示)]  << 0 >>

■40265 / inTopicNo.1)  SQLiteのサーバでの接続法
  
□投稿者/ masa2 (13回)-(2009/08/22(Sat) 15:18:34)

分類:[ASP.NET (VB)] 

2009/08/22(Sat) 17:51:20 編集(投稿者)
2009/08/22(Sat) 15:26:39 編集(投稿者)
2009/08/22(Sat) 15:26:03 編集(投稿者)
2009/08/22(Sat) 15:24:45 編集(投稿者)

SQLiteのサーバでの接続が出来なくて困ってます。
web.configの記述についてアドバイス頂けると助かります。

SQLiteがVWD2005では動くようになりましたが、そのプログラムとSQLiteのサーバへの
設置方法と稼働方法がわかりません。

↓このページを参考にSQLiteをサーバに設置しています。
http://devadjust.exblog.jp/9165484/

SQLiteのDBは、プロジェクトフォルダSQLiteの中のApp_Dataフォルダの中にLiteMyDB.db
のファイル名で設置しました。
サーバ設置の為、web_configの一部を下記のとおり書き換えました。
「connectionString="data source=|DataDirectory|LiteMyDB.db"」の記述が正しいか?
不安です。

<connectionStrings>
  <add name="LitleMyDB" connectionString="data source=|DataDirectory|LiteMyDB.db"
   providerName="System.Data.SQLite" />
</connectionStrings>

サーバで稼働確認を行ったところ、以下のエラーメッセージが出て動きません。
要求された .Net Framework データ プロバイダが見つかりません。これは、インストールされていない可能性があります。 
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 

例外の詳細: System.ArgumentException: 要求された .Net Framework データ プロバイダが見つかりません。これは、インストールされていない可能性があります。


VWD2005上ではSQLite、GridViewともに正しく稼働しています。
データベース エクスプローラで、SQLite [LiteMyDB]のプロパティのバージョン表示は3.6.16です。

(参考情報)
VWD2005で自動作成されたweb.configの記述
<connectionStrings>
  <add name="LitleMyDB" connectionString="data source=C:\Data\SQLite\App_Data\LiteMyDB.db"
   providerName="System.Data.SQLite" />
</connectionStrings>

開発:VWD2005  サーバ:ASP.NET2.0+ASP.NET AJAX1.0
よろしくお願いします。

引用返信 編集キー/
■40267 / inTopicNo.2)  Re[1]: SQLiteのサーバでの接続法
□投稿者/ やじゅ (1251回)-(2009/08/22(Sat) 16:53:34)
やじゅ さんの Web サイト
No40265 (masa2 さん) に返信
> 「connectionString="data source=|DataDirectory|LiteMyDB.db"」の記述が正しいか?
> 不安です。
>

\マークが足りないってことはない? 私はこれくらいしか分からないや 
connectionString="data source=|DataDirectory|\LiteMyDB.db

下記サイトだと\マークがある
http://www.atmarkit.co.jp/fdotnet/vs2005db/vs2005db_07/vs2005db_07_03.html

※「|DataDirectory|」は接続文字列における予約変数で、アプリケーション・ルート配下の「App_Data」フォルダを表します。
引用返信 編集キー/
■40269 / inTopicNo.3)  Re[2]: SQLiteのサーバでの接続法
□投稿者/ masa2 (14回)-(2009/08/22(Sat) 17:42:05)
No40267 (やじゅ さん) に返信
やじゅさん、お返事ありがとうございます。
> \マークが足りないってことはない? 私はこれくらいしか分からないや 
> connectionString="data source=|DataDirectory|\LiteMyDB.db

早速、「\」付けて connectionString="data source=|DataDirectory|\LiteMyDB.db
とし、web.configをサーバへアップし、稼働を確認してみましがが、同じエラーメッセージ
が出力され動きませんでした。

ちなみに、VWD2005上で稼働確認しましたが
connectionString="data source=|DataDirectory|\LiteMyDB.db
connectionString="data source=|DataDirectory|LiteMyDB.db
どちらの記述でもSQLiteが正しく稼働しました。

↓このページには\のない記述だったので、この記述にしていました。
http://sqlite.phxsoftware.com/forums/p/1224/5157.aspx

情報ページの紹介ありがとうございます。
> 下記サイトだと\マークがある
> http://www.atmarkit.co.jp/fdotnet/vs2005db/vs2005db_07/vs2005db_07_03.html
>
> ※「|DataDirectory|」は接続文字列における予約変数で、アプリケーション・ルート配下の「App_Data」フォルダを表します。

そうですよねえ。「|DataDirectory|」は、アプリケーション・ルート配下の「App_Data」フォ
ルダを表すですよねえ。理解があっている事が確認でき少し安心しました。

しかし、サーバ上でSQLiteが動かない事には先に進めなくて困っております。
皆様、アドバイスよろしくお願い申し上げます。
引用返信 編集キー/
■40272 / inTopicNo.4)  Re[3]: SQLiteのサーバでの接続法
□投稿者/ やじゅ (1252回)-(2009/08/22(Sat) 18:48:11)
やじゅ さんの Web サイト
No40269 (masa2 さん) に返信

machine.configはどうなってます?
http://shaberiba.anond.hatelabo.jp/20090514150554
引用返信 編集キー/
■40277 / inTopicNo.5)  Re[4]: SQLiteのサーバでの接続法
□投稿者/ masa2 (15回)-(2009/08/23(Sun) 07:38:04)
No40272 (やじゅ さん) に返信
> ■No40269 (masa2 さん) に返信
> 
> machine.configはどうなってます?
> http://shaberiba.anond.hatelabo.jp/20090514150554

やじゅさん、アドバイスありがとうございます。
やじゅさんの情報をヒントにググって、下記ページを見付けました。
http://sqlite.phxsoftware.com/forums/t/239.aspx

早速、web.configの<configuration>の中に
  <system.data>
    <DbProviderFactories>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>
を記述してみました。

サーバで稼働した結果、以下のエラーメッセージが表示されました。
登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。 
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 

例外の詳細: System.Configuration.ConfigurationErrorsException: 登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。

ちなみに、VWD2005で稼働したところ、以下のエラーメッセージが表示され動かなくなってしまいました。
構成にエラーがあります。 
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。 

パーサー エラー メッセージ: system.data のための構成セクション ハンドラを作成中にエラーが発生しました。: 列 'InvariantName' は一意であるように制約されています。値 'System.Data.SQLite' は既に存在します。

次に、http://sqlite.phxsoftware.com/forums/t/239.aspx のページにあるように
<remove invariant="System.Data.SQLite"/> を追加してみました。

  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>

サーバで稼働した結果、前回と同じ、以下のエラーメッセージが表示されました。
登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。 
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 

例外の詳細: System.Configuration.ConfigurationErrorsException: 登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。

VWD2005で稼働させた結果は、以下のエラーメッセージに変わり、動きませんでした。
登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。 
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 

例外の詳細: System.Configuration.ConfigurationErrorsException: 登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。

もしかして、「ADO.NET 2.0 Provider for SQLite」を利用するには、サーバにもこのツール
をインストールする必要があるのでしょうか?
また、ツールのインストールが認められていないレンタルサーバでは、ADO.NET 2.0 Provider for SQLite
の利用は不可能なのでしょうか?(そんな事はなく、SQLiteは手軽に利用できると思うのですが?)
http://sourceforge.net/projects/sqlite-dotnet2/files/

VWD2005(ASP.NET2.0)のweb.configは比較的行数が少ないので全文添付させて頂きました。
<?xml version="1.0"?>
<configuration>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>  
  
  <appSettings/>
	<connectionStrings>
    <add name="LitleMyDB" connectionString="data source=|DataDirectory|\LiteMyDB.db; Version=3;"
     providerName="System.Data.SQLite" />
  </connectionStrings>
	<system.web>
		<compilation debug="true" strict="false" explicit="true"/>
		<pages>
			<namespaces>
				<clear/>
				<add namespace="System"/>
				<add namespace="System.Collections"/>
				<add namespace="System.Collections.Specialized"/>
				<add namespace="System.Configuration"/>
				<add namespace="System.Text"/>
				<add namespace="System.Text.RegularExpressions"/>
				<add namespace="System.Web"/>
				<add namespace="System.Web.Caching"/>
				<add namespace="System.Web.SessionState"/>
				<add namespace="System.Web.Security"/>
				<add namespace="System.Web.Profile"/>
				<add namespace="System.Web.UI"/>
				<add namespace="System.Web.UI.WebControls"/>
				<add namespace="System.Web.UI.WebControls.WebParts"/>
				<add namespace="System.Web.UI.HtmlControls"/>
			</namespaces>
		</pages>

    <authentication mode="Windows"/>

    <customErrors mode="Off"/>

  </system.web>
</configuration>

引用返信 編集キー/
■40298 / inTopicNo.6)  Re[5]: SQLiteのサーバでの接続法
□投稿者/ やじゅ (1253回)-(2009/08/23(Sun) 15:44:31)
やじゅ さんの Web サイト
No40277 (masa2 さん) に返信

SQLite関連のDLL(例 System.Data.SQLite.dll)は、何を、どこに配置してますか(App_Dataフォルダ)?
DLLにアクセスさえ出来れば使えると思うんだけどね。
引用返信 編集キー/
■40403 / inTopicNo.7)  Re[6]: SQLiteのサーバでの接続法
□投稿者/ masa2 (16回)-(2009/08/25(Tue) 08:00:38)
2009/08/25(Tue) 08:01:19 編集(投稿者)
No40298 (やじゅ さん) に返信
> ■No40277 (masa2 さん) に返信
> 
> SQLite関連のDLL(例 System.Data.SQLite.dll)は、何を、どこに配置してますか(App_Dataフォルダ)?
> DLLにアクセスさえ出来れば使えると思うんだけどね。

やじゅさん、アドバイスありがとうございます。
プロジェクトフォルダに「ADO.NET Provider for the SQLite」関連のdllを配置しなければ
ならない事まで知恵が回っておりませんでした。
早速、プロジェクトフォルダ下に「Bin」フォルダを作成し、System.Data.SQLite.DLL
とSystem.Data.SQLite.Linq.dllの2つを配置しました。

VWD2005上では再度正常に稼働する様になりました。

サーバへ全てをアップし直し、動かしてみたところ、以下のエラーで動きませんでした。

必要なアクセス許可を取得できません。 
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 

例外の詳細: System.Security.Policy.PolicyException: 必要なアクセス許可を取得できません。

ソース エラー: 
現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。  

スタック トレース: 
[PolicyException: 必要なアクセス許可を取得できません。]
   System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) +7604211
   System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) +57

[FileLoadException: ファイルまたはアセンブリ 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'、またはその依存関係の 1 つが読み込めませんでした。要求された最小限のアクセス許可を与えることができませんでした。 (HRESULT からの例外: 0x80131417)]
   System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
  <4行省略>
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46

[ConfigurationErrorsException: ファイルまたはアセンブリ 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'、またはその依存関係の 1 つが読み込めませんでした。要求された最小限のアクセス許可を与えることができませんでした。 (HRESULT からの例外: 0x80131417)]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613
  <15行省略>
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
以上

エラーのSystem.Security.Policy.PolicyException SQLiteのキーワードでググたらこれと
同じエラーに関する質問投稿がたくさんありました。↓この投稿を見付けたので
http://stackoverflow.com/questions/596160/can-someone-tell-me-what-this-error-means

<system.web>
    <securityPolicy>
        <trust level="Full" />
    </securityPolicy>

...
</system.web>

をweb.configに追加してみたのですが、

VWD2005では、以下のエラーが発生しました。
構成にエラーがあります。 
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。 

パーサー エラー メッセージ: 認識されない要素 'trust' です。

サーバで稼働した結果、以下のエラーを発生しました。
構成にエラーがあります。 
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。 

パーサー エラー メッセージ: この構成セクションはこのパスでは使用できません。これはサイト管理者が、継承された構成ファイルから <location allowOverride="false"> を使用して、このセクションへのアクセスをロックしたときに発生します。

ソース エラー: 
行 14: 	<system.web>
行 15: 		<compilation debug="true" strict="false" explicit="true"/>
行 16:     <securityPolicy>
行 17:       <trust level="Full" />
行 18:     </securityPolicy>

あと一歩の所まで来ている様な気がするのですが。
サーバ上で新しいツールが動くようにするのは、手間の掛かる作業なのですね。

引用返信 編集キー/
■40404 / inTopicNo.8)  Re[7]: SQLiteのサーバでの接続法
□投稿者/ みきぬ (624回)-(2009/08/25(Tue) 09:34:11)
2009/08/25(Tue) 09:39:02 編集(投稿者)

No40403 (masa2 さん) に返信
> <system.web>
> <securityPolicy>
> <trust level="Full" />
> </securityPolicy>
>
> ...
> </system.web>
>

↓を読むに、trust ではなく trustLevel が正しいっぽいですね。
http://msdn.microsoft.com/ja-jp/library/as399f0x(VS.80).aspx

-----
関係あるかどうかわからないけど、↓も追加しておきます。
http://msdn.microsoft.com/ja-jp/library/tkscy493(VS.80).aspx
引用返信 編集キー/
■40414 / inTopicNo.9)  Re[7]: SQLiteのサーバでの接続法
□投稿者/ やじゅ (1260回)-(2009/08/25(Tue) 13:07:21)
やじゅ さんの Web サイト
No40403 (masa2 さん) に返信

セキュリティ例外
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33612&forum=7

Binディレクトリに厳密名が設定されているDLLを配置してるなら、厳密名を付けてみるとか
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"

引用返信 編集キー/
■40438 / inTopicNo.10)  Re[8]: SQLiteのサーバでの接続法
□投稿者/ masa2 (17回)-(2009/08/26(Wed) 07:48:38)
No40404 (みきぬ さん) に返信
> 2009/08/25(Tue) 09:39:02 編集(投稿者)
> 
> ■No40403 (masa2 さん) に返信
>><system.web>
>>    <securityPolicy>
>>        <trust level="Full" />
>>    </securityPolicy>
>>
>>...
>></system.web>
>>
> 
> ↓を読むに、trust ではなく trustLevel が正しいっぽいですね。
> http://msdn.microsoft.com/ja-jp/library/as399f0x(VS.80).aspx
> 
> -----
> 関係あるかどうかわからないけど、↓も追加しておきます。
> http://msdn.microsoft.com/ja-jp/library/tkscy493(VS.80).aspx

みぬきさん、アドバイスありがとうございます。
みきぬさんのアドバイスを元に、web.configの以下の部分を
<system.web>
    <securityPolicy>
        <trust level="Full" />
    </securityPolicy>

...
</system.web>

を以下の通り書き直しました。

  <location allowOverride="true">
    <system.web>
      <securityPolicy>
        <trustLevel name="Full" policyFile="internal"/>
        <trustLevel name="High" policyFile="web_hightrust.config"/>
        <trustLevel name="Medium" policyFile="web_mediumtrust.config"/>
        <trustLevel name="Low" policyFile="web_lowtrust.config"/>
        <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
      </securityPolicy>
      <trust level="Full" originUrl="" processRequestInApplicationTrust="true"/>

    ...
    </system.web>
  </location>

サーバのweb.configを更新し、動かしたところ、以下のエラーで動きませんでした。

構成にエラーがあります。 
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。 

パーサー エラー メッセージ: この構成セクションはこのパスでは使用できません。これはサイト管理者が、継承された構成ファイルから <location allowOverride="false"> を使用して、このセクションへのアクセスをロックしたときに発生します。

ソース エラー: 
行 14:     <system.web>
行 15:       <compilation debug="true" strict="false" explicit="true"/>
行 16:       <securityPolicy>
行 17:         <trustLevel name="Full" policyFile="internal"/>
行 18:         <trustLevel name="High" policyFile="web_hightrust.config"/>
以上


web.config全文を掲載します。
<?xml version="1.0"?>
<configuration>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>
  <appSettings/>
  <connectionStrings>
    <add name="LitleMyDB" connectionString="data source=|DataDirectory|LiteMyDB.db" providerName="System.Data.SQLite"/>
  </connectionStrings>
  <location allowOverride="true">
    <system.web>
      <compilation debug="true" strict="false" explicit="true"/>
      <securityPolicy>
        <trustLevel name="Full" policyFile="internal"/>
        <trustLevel name="High" policyFile="web_hightrust.config"/>
        <trustLevel name="Medium" policyFile="web_mediumtrust.config"/>
        <trustLevel name="Low" policyFile="web_lowtrust.config"/>
        <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
      </securityPolicy>
      <trust level="Full" originUrl="" processRequestInApplicationTrust="true"/>
      <pages>
        <namespaces>
          <clear/>
          <add namespace="System"/>
          <add namespace="System.Collections"/>
          <add namespace="System.Collections.Specialized"/>
          <add namespace="System.Configuration"/>
          <add namespace="System.Text"/>
          <add namespace="System.Text.RegularExpressions"/>
          <add namespace="System.Web"/>
          <add namespace="System.Web.Caching"/>
          <add namespace="System.Web.SessionState"/>
          <add namespace="System.Web.Security"/>
          <add namespace="System.Web.Profile"/>
          <add namespace="System.Web.UI"/>
          <add namespace="System.Web.UI.WebControls"/>
          <add namespace="System.Web.UI.WebControls.WebParts"/>
          <add namespace="System.Web.UI.HtmlControls"/>
        </namespaces>
      </pages>
      <authentication mode="Windows"/>
      <customErrors mode="Off"/>
    </system.web>
  </location>
</configuration>

引用返信 編集キー/
■40439 / inTopicNo.11)  Re[8]: SQLiteのサーバでの接続法
□投稿者/ masa2 (18回)-(2009/08/26(Wed) 07:50:03)
No40414 (やじゅ さん) に返信
> ■No40403 (masa2 さん) に返信
> 
> セキュリティ例外
> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33612&forum=7
> 
> Binディレクトリに厳密名が設定されているDLLを配置してるなら、厳密名を付けてみるとか
> <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
>  type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"

やじゅさん、アドバイスありがとうございます。
やじゅさんのアドバイスに従い、System.Data.SQLiteを以下の通り厳密定義してみました。

  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
    </DbProviderFactories>
  </system.data>
  
VWD2005ではSQLiteは正常に稼働しました。

サーバのweb.configを更新し、動かしたところ、以下通り、厳密定義する前と同じエラー
を表示し動きませんでした。

必要なアクセス許可を取得できません。 
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 

例外の詳細: System.Security.Policy.PolicyException: 必要なアクセス許可を取得できません。

ソース エラー: 
現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。  

スタック トレース: 
[PolicyException: 必要なアクセス許可を取得できません。]
   System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) +7604211
   System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) +57

[FileLoadException: ファイルまたはアセンブリ 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'、またはその依存関係の 1 つが読み込めませんでした。要求された最小限のアクセス許可を与えることができませんでした。 (HRESULT からの例外: 0x80131417)]
   System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
  <4行省略>
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46

[ConfigurationErrorsException: ファイルまたはアセンブリ 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'、またはその依存関係の 1 つが読み込めませんでした。要求された最小限のアクセス許可を与えることができませんでした。 (HRESULT からの例外: 0x80131417)]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613
  <15行省略>
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
以上


web.config全文を掲載します。
<?xml version="1.0"?>
<configuration>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
    </DbProviderFactories>
  </system.data>
  <appSettings/>
  <connectionStrings>
    <add name="LitleMyDB" connectionString="data source=|DataDirectory|LiteMyDB.db" providerName="System.Data.SQLite"/>
  </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true"/>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"/>
    <customErrors mode="Off"/>
  </system.web>
</configuration>

引用返信 編集キー/
■40441 / inTopicNo.12)  Re[9]: SQLiteのサーバでの接続法
□投稿者/ やじゅ (1265回)-(2009/08/26(Wed) 10:22:25)
やじゅ さんの Web サイト
No40439 (masa2 さん) に返信

下記サイトに、ASP.NET Trust Level が「Medium のカスタマイズ」 というというレンタルサーバーを使っているとの
記述がありましたが、そもそも masa2 さんのサーバーというのは、レンタルサーバーでしょうか(だとすればどこの?)
ASP.NET Trust Level など環境面も調査した方がいいかも知れませんね。
http://social.msdn.microsoft.com/Forums/ja-JP/aspnetja/thread/8db9c258-d0b6-46f2-99b3-1a4b8fb9d81f

その場合でも、「厳密名をつけるアセンブリに、AllowPartiallyTrustedCallersAttribute属性を適用すると、
フルトラストでない呼び出し元からの呼び出しを許可できます。」との記述があります。

引用返信 編集キー/
■40512 / inTopicNo.13)  Re[10]: SQLiteのサーバでの接続法
□投稿者/ masa2 (19回)-(2009/08/27(Thu) 07:59:25)
No40441 (やじゅ さん) に返信
> ■No40439 (masa2 さん) に返信
> そもそも masa2 さんのサーバーというのは、レンタルサーバーでしょうか(だとすればどこの?)
> ASP.NET Trust Level など環境面も調査した方がいいかも知れませんね。

Trust Level Mediumのレンタルサーバで、サーバ稼働の確認を行ってます。
(ASP.NET2.0 + AJAX1.0)

最終的には、Windows Server2003、ASP.NET3.5(.NET Framework3.5)サーバ上で
「ADO.NET Provider for the SQLite」を利用したい計画でSQLite稼働の検討をしています。
(レンタルサーバでのSQLiteに稼働に、こんなに手こずるとは思いませんでした。
SQLiteは、手軽にASP.NETでも利用できると思ってました。)

現在のレンタルサーバでのSQLiteの稼働確認は中断し、Win Server2003でのSQLiteの稼働
確認に変更します。

なぜ、レンタルサーバでSQLiteの稼働確認を行っていたかと言うと「ADO.NET Provider for
the SQLite」はVWD2008上では動かない為、
(↓この記事の最後に書いてある。実際に確認したが動かなかった。)
http://devadjust.exblog.jp/9165484/
VWD2005を利用しSQLiteの操作法確認・稼働確認を行っておりました。SQLiteを利用した
プログラムをVWD2005で作成し、手持ちのレンタルサーバで稼働を確認し、完成した物を
ASP.NET3.5サーバへ移動し利用するイメージです。


> http://social.msdn.microsoft.com/Forums/ja-JP/aspnetja/thread/8db9c258-d0b6-46f2-99b3-1a4b8fb9d81f
>
> その場合でも、「厳密名をつけるアセンブリに、AllowPartiallyTrustedCallersAttribute属性を適用すると、
> フルトラストでない呼び出し元からの呼び出しを許可できます。」との記述があります。

↑ご紹介頂いた方法が習得できれば、Trust Level MediumのレンタルサーバでもSQLite
を稼働させる可能性はあるのですね。
しかし、先ずは、Windows Server2003、ASP.NET3.5上でのSQLiteの稼働検討に切り替えて
みます。

方法は、VWD2005でSQLiteのプログラムを作成し、VWD2008でASP.NET3.5サーバで動く様に
変換し、そのプロラムをASP.NET3.5サーバへアップし、SQLiteの稼働を確認するといった
方法を考えています。
(VWD2008上でも「ADO.NET Provider for the SQLite」が動く様になれば作業はすごく
楽になるのですが?その方法、どこかに掲載されていませんでしょうか?)
引用返信 編集キー/
■40523 / inTopicNo.14)  Re[11]: SQLiteのサーバでの接続法
□投稿者/ もりお (51回)-(2009/08/27(Thu) 12:56:55)
ぬおお、ASP.NET と SQLite の組み合わせの情報はなかなかに見つけ難いですね。

No40512 (masa2 さん) に返信
> 方法は、VWD2005でSQLiteのプログラムを作成し、VWD2008でASP.NET3.5サーバで動く様に
> 変換し、そのプロラムをASP.NET3.5サーバへアップし、SQLiteの稼働を確認するといった
> 方法を考えています。

アプリケーション設置後に運用していくことも考慮すると
情報量という観点から SQLServer の利用も視野に入れた
方が善いような気がします。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -