2009-06-11 9 views
0

私は、ADO.NETを介してSQL Server Expressデータベースを使用するシングルユーザーのWinフォームアプリケーションを使用しています。私は私のアプリケーションに多くを追加したいが、LinqをSqlに使う(私はLinqをSqlに学ぶ)。私は同時に2つの場所でデータベースを見ることができません。 ADOを使用して元のコードで見ることができますか、Linq to SQLを使用して新しいコードで見ることができます。 1つの方法でデータを使用すると、もう1つの方法でデータを参照することが拒否されます。以前は、新しいLinqのSQLコードを使用して、データベースを含むデータベースのディレクトリを別のディレクトリ名にコピーし、ADSで取得する前にL2Sで取得しました。これにより、私のLinq to SQLコードが正常に動作していることがわかりました。しかし、 "アクセスが拒否されました(5)"ため、ADOで元のコードでこの新しいデータベースを使用することはできません。私は間違って何をしていますか?どのように共有するのですか?LinqとSQLは、SQL Server ExpressのADOと共存できますか?

EDIT:SQL Serverでの添付について質問する部分を削除しました。その問題の一部は、私が(Vista)の管理者としてSQL Server を実行する必要があるということです。/EDIT

私はL2Sを使用しているので、ADO.NETで接続を開こうとすると「C:\ PRICINGtests \ PRICING.MDF」という物理ファイルを開くことができませんオペレーティングシステムエラー5: "5(アクセスが拒否されました)" C:\ PRICINGtests \ PRICING.MDFファイルに自動ネームデータベースを追加しようとしましたが、同じ名前のデータベースが存在するか、指定されたファイルを開くことができません。 UNCシェアで

答えて

0

ここに2つの別々の接続文字列がありますか?私はあなたが持っていると仮定し、彼らは許可されていないSQL Serverに同じデータベース名を持つmdfを添付しようとしている。

ADO & Linqコードでは、同じ単一接続文字列を使用していますが、両方とも同じデータベースを使用します。

+0

ありがとう、クリス。 DataContext db = new DataContext(@ "C:\ PRICINGtests \ PRICING.MDF"); "を使用して、Linqとの完全な接続文字列を取得する方法はわかりません。 appの設定ファイルに入力ミスがないことを確認してください。いずれにしても、これは小さなプログラムであり、一度にすべてのセクションをオフにしています。 1回の実行中に、私は1つのデータ接続方法で実行しようとしています。 Linqを使ってデータベースを初めて実行すると、後でADOだけを使用して実行することができなくなりました。 – CindyH

関連する問題