Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq忽略连接字符串,并尝试访问错误的数据库。抛出异常_Linq_Exception_Linq To Sql - Fatal编程技术网

Linq忽略连接字符串,并尝试访问错误的数据库。抛出异常

Linq忽略连接字符串,并尝试访问错误的数据库。抛出异常,linq,exception,linq-to-sql,Linq,Exception,Linq To Sql,我对DBML文件使用Linq,我相信这是Linq2SQL 在开发过程中,我使用了一个名为“Stage”的staging数据库,现在使用的是另一个数据库。我对临时数据库的权限已被删除 当我使用以下连接字符串时 <add name="Management_Report_Emailer.Properties.Settings.DWConnectionString" connectionString="Data Source=biqasql01;Initial Catal

我对DBML文件使用Linq,我相信这是Linq2SQL

在开发过程中,我使用了一个名为“Stage”的staging数据库,现在使用的是另一个数据库。我对临时数据库的权限已被删除

当我使用以下连接字符串时

 <add name="Management_Report_Emailer.Properties.Settings.DWConnectionString"
            connectionString="Data Source=biqasql01;Initial Catalog=DW;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
我的一些linq查询有效,一些则无效。不起作用的会抛出此异常

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
错误服务器主体“mydomain\myusername”无法访问
当前安全上下文下的数据库“DWStage”。
位于System.Data.SqlClient.SqlConnection.OnError(SqlException异常,Boolea
断开连接)
位于System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常
,布尔断开连接)
位于System.Data.SqlClient.TdsParser.throweexception和warning()处
在System.Data.SqlClient.TdsParser.Run(RunBehavior,SqlCommand-cm
dHandler、SqlDataReader数据流、BulkCopySimpleResultSet bulkCopyHandler、Tds
ParserStateObjectStateObj)
位于System.Data.SqlClient.SqlDataReader.ConsumerMetadata()处
在System.Data.SqlClient.SqlDataReader.get_MetaData()处
在System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,运行
行为(运行行为,字符串重置选项字符串)
位于System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBe
havior、RunBehavior、布尔返回流、布尔异步)
位于System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehav
ior、运行行为、布尔返回流、字符串方法、DbAsyncResult
结果)
位于System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehav
ior、运行行为、布尔返回流、字符串方法)
位于System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior,S
字符串法)
在System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior)中
ior)
在System.Data.Common.DbCommand.ExecuteReader()中
在System.Data.Linq.SqlClient.SqlProvider.Execute(表达式查询,QueryInfo
queryInfo,IObjectReaderFactory工厂,对象[]父参数,对象[]用户参数
,ICompiledSubQuery[]子查询,对象lastResult)
位于System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(表达式查询,QueryI
nfo[]QueryInfo,IObjectReaderFactory工厂,对象[]用户参数,ICompile
dSubQuery[]子查询)
位于System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider
.Execute(表达式查询)
位于System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable.Get
枚举器()
在C:\dev\Management中的Management\u Report\u Emailer.Program.Main(字符串[]args)处
ReportMail\Management Report Emailer\Program.cs:第181行
问题


为什么它试图访问错误的数据库“DWStage”???在这个应用程序中,我将代码减少到只有四行,没有一行引用该字符串。我对该字符串进行了文件搜索,但在任何地方都找不到它。

正确答案是:检查您的视图


我正在引用视图中使用另一个数据库中的表,我的帐户无权访问该表。SQL正确地报告我无法查看另一个表。

正确的答案是:检查您的视图


我正在引用视图中使用另一个数据库中的表,我的帐户无权访问该表。SQL正确地报告我无法查看另一个表。

您的DataAccess代码是否驻留在另一个项目中?所有内容都在同一个项目中。我进入应用程序,在异常之前几乎没有运行任何东西。我正在使用F11单步执行,并且不使用任何古怪的设置程序…您是否使用
*
过滤器搜索解决方案中的所有文件?打开
在文件中搜索
,选择解决方案路径,然后点击搜索,也许你会看到不同的结果。我使用了AgentRack,一个积极的文件搜索工具,它还没有让我失望(即使是二进制文件)。可能字符串在某个地方被uuencoded..您的DataAccess代码是否驻留在另一个项目中?所有内容都在同一个项目中。我进入应用程序,在异常之前几乎没有运行任何东西。我正在使用F11单步执行,并且不使用任何古怪的设置程序…您是否使用
*
过滤器搜索解决方案中的所有文件?打开
在文件中搜索
,选择解决方案路径,然后点击搜索,也许你会看到不同的结果。我使用了AgentRack,一个积极的文件搜索工具,它还没有让我失望(即使是二进制文件)。可能字符串在某个地方被UU编码。。
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