我目前面临着一个非常奇怪的问题,即Visual Studio LightSwitch 2010与Oracle数据库和ODP.NET结合使用。
到目前为止,我已将所有必要的表添加到LightSwitch应用程序中,并为所有表创建了屏幕 - 它可以正常工作。
然后我添加/选择了一个新表 - 让我们称之为errorcodes
- 来自Oracle数据库并遇到问题。只要我选择errorcodes
表,我总会收到错误消息:
查询'dtFacilities_All'的加载操作失败。远程服务器 返回错误:NotFound。
有趣的是,dtFacilities_All
一直在工作之前我选择了新表。设备的屏幕是启动应用程序时的第一个屏幕 - 如果我选择另一个第一个屏幕,我会在新的开始屏幕表中得到相同的错误。
当我取消选择errorcodes
表时,一切都运行正常。它似乎与errorcodes
表本身有关 - 但我不知道是什么。
表errorcodes
有一个主键设置,所以这不是问题。
我希望有人可以帮助我。
堆栈跟踪
{System.ServiceModel.CommunicationException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound.
at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)
--- End of inner exception stack trace ---
at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
--- End of inner exception stack trace ---
at System.ServiceModel.DomainServices.Client.WebDomainClient`1.EndQueryCore(IAsyncResult asyncResult)
at System.ServiceModel.DomainServices.Client.DomainClient.EndQuery(IAsyncResult asyncResult)
at Microsoft.LightSwitch.ClientGenerated.Implementation.DomainContextClient.EndQueryCore(IAsyncResult asyncResult)
at System.ServiceModel.DomainServices.Client.DomainClient.EndQuery(IAsyncResult asyncResult)
at System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult)}
答案 0 :(得分:0)
更新:
表errorcodes
包含一个名为ISLOSS的列。该列的类型为NUMBER(1,0)
- LightSwitch将其作为bool值正确映射到实体中。当我将该列的数据类型更改为NUMBER(2,0)
时,一切正常。
似乎lightswitch对此数据类型(NUMBER(1,0)
)有问题。但我真的不知道如何解决它 - 将数据类型更改为NUMBER(2,0)
只是一个临时值。变通方法..