2011-01-13 8 views
1

DBMLファイルに対してLinqを使用していますが、これはLinq2SQLと思われます。Linqが接続文字列を無視し、間違ったデータベースにアクセスしようとしています。例外がスローされました

開発中にステージングデータベースStageを使用しましたが、今は別のデータベースを使用しています。ステージングデータベースに対する私の権利は削除されました。

私は次の接続文字列

<add name="Management_Report_Emailer.Properties.Settings.DWConnectionString" 
      connectionString="Data Source=biqasql01;Initial Catalog=DW;Integrated Security=True" 
      providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

を使用して、LINQの

にその内側の文字列を渡す
DWDataContext DWctx = new DWDataContext(CurrentServerConnection); 

私のLINQクエリのいくつかは、いくつかのdont仕事。動作しないものは、この例外

Error The server principal "mydomain\myusername" is not able to access the 
database "DWStage" under the current security context. 
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolea 
n breakConnection) 
    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception 
, Boolean breakConnection) 
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 
    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cm 
dHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, Tds 
ParserStateObject stateObj) 
    at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() 
    at System.Data.SqlClient.SqlDataReader.get_MetaData() 
    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, Run 
Behavior runBehavior, String resetOptionsString) 
    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBe 
havior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 
    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehav 
ior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult 
result) 
    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehav 
ior, RunBehavior runBehavior, Boolean returnStream, String method) 
    at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, S 
tring method) 
    at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behav 
ior) 
    at System.Data.Common.DbCommand.ExecuteReader() 
    at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo 
queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs 
, ICompiledSubQuery[] subQueries, Object lastResult) 
    at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryI 
nfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompile 
dSubQuery[] subQueries) 
    at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider 
.Execute(Expression query) 
    at System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.Get 
Enumerator() 
    at Management_Report_Emailer.Program.Main(String[] args) in C:\dev\Management 
ReportMail\Management Report Emailer\Program.cs:line 181 

なぜ一体、それは間違ったデータベース「DWStage」にアクセスしようとしている

質問を投げます?私はこれをこのアプリケーションではわずか4行に減らしましたが、その文字列を参照するものはありません。私はその文字列のファイル検索を行い、どこでも見つけることができません。

+0

DataAccessコードは別のプロジェクトにありますか? –

+0

すべてが同じプロジェクトにあります。私はアプリに足を踏み入れると、例外の前に実行されるものはほとんどありません。私はF11を使って歩いていて、不器用なセッターは使用しません。 – LamonteCristo

+0

あなたのソリューションのすべてのファイルを検索するために '*'フィルターで検索しましたか? 'ファイル内検索 'を開き、解のパスを選択してから検索を実行してください。別の結果が表示されることがあります。 –

答えて

1

正解は次のとおりです。ビューを確認してください!

参照されたビューの別のデータベースにあるテーブルを使用していますが、アカウントにはアクセスできません。 SQLは、他のテーブルを見ることができないことを正しく報告しています。

関連する問題