我最近安装了最新的Oracle Data Provider for .NET(ODP.NET 11.2.0.1.2),因为不推荐使用Microsoft Oracle Client。自从新安装以来,我的SqlDataSource控件停止工作。当我尝试配置数据源并测试连接时,它给出了以下错误消息:
无法为此连接检索数据库架构。请确保连接设置正确并且数据库已联机。
OCIEnvCreate失败,返回码为-1,但错误消息文本不可用。在DataObjectSupport(721,6)
连接设置肯定是正确的,数据库肯定在线,因为我手动完成的任何数据绑定工作都非常好。例如,我可以使用ODP.NET手动绑定到Gridview,ListBox等,并显示数据没有任何问题。但我无法配置和使用SqlDataSource控件。这很痛苦,因为Gridview和Listview有很多很酷的内置功能。当您在代码隐藏文件中对控件进行数据绑定时,您将丢失所有功能。
我已将ASPNET添加到Oracle主目录并授予其完全访问控制权,并重新启动计算机,但它无效。我正在使用Visual Studio 2010并连接到Oracle 10g的远程Oracle数据库。有谁知道我为什么遇到SqlDataSource问题?
答案 0 :(得分:0)
已解决,它似乎是导致此问题的网络问题,因为它已经开始单独工作。
答案 1 :(得分:0)
我遇到了类似的问题并解决了它编辑.csproj文件的问题。 就我而言,我正在使用一个项目连接到数据库,而在另一个应用程序,一个控制台应用程序,我正在做我的程序的逻辑并调用该库。 为了解决这个问题,我检查了.csproj的部分。 在数据库连接项目中,“Debug | Any CPU”属性与我的控制台应用程序.csproj不同。 我已将其替换为:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>