ASP.Net C#-SqlDataSource和Oracle:找不到网络路径

SPNick

请帮助我的问题。当通过asp:SqlDataSource和asp:ListView从Web上的Oracle DB“绘图”数据时,出现错误。

我正在使用ODP.Net驱动程序,并且运行良好(我在背后的代码中有很多SELECT和UPDATE查询\命令,它们正在工作!)。但是,当必须呈现页面时,它会说:“找不到网络路径”

Exception Details: System.ComponentModel.Win32Exception: The network path was not found

[Win32Exception (0x80004005): The network path was not found]

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5341687
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +546
   System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +5353471
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +145
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +923
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +311
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData) +646
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +278
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +38
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +732
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +85
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1057
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78
   System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +196
   System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +146
   System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +16
   System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +94
   System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +110
   System.Data.SqlClient.SqlConnection.Open() +96
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +121
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +316
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +86
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1474
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +138
   System.Web.UI.WebControls.ListView.PerformSelect() +167
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +30
   System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +105
   System.Web.UI.WebControls.ListView.CreateChildControls() +122
   System.Web.UI.Control.EnsureChildControls() +83
   System.Web.UI.Control.PreRenderRecursiveInternal() +42
   System.Web.UI.Control.PreRenderRecursiveInternal() +155
   System.Web.UI.Control.PreRenderRecursiveInternal() +155
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +974

连接字符串(web.config):

<add name="OracleDB" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=srv00)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=seln)));User Id=USR;Password=Password.USR;" />

SqlDataSource代码:

<asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:OracleDB %>" runat="server"
    SelectCommand="SELECT Field1, Field2, Field3 FROM ban.fj_table WHERE Field1= :Field1"

和SqlDataSource的SELECT参数:

<SelectParameters>
    <asp:ControlParameter Name="Field1" ControlID="CntrlName" PropertyName="SelectedValue" />
</SelectParameters>

此操作的代码隐藏中没有代码。感谢您提供任何帮助。.对不起,我很抱歉(:

哨兵

ADyson和Steve的评论为我解决了这个问题,但是由于缺乏评论格式,我想将其发布为“真实的”答案。

假设您的连接字符串正确,则可能是由于未指定正确的提供程序名称引起的,而ASP.NET将假定它是SQL Server。

您必须使用的提供程序名称是“ Oracle.DataAccess.Client ”。您可能还需要先将对“ Oracle.DataAccess的引用添加到您的项目中(如果尚未这样做的话)。

<asp:SqlDataSource
    ID="SqlDataSource1"
    ConnectionString="<%$ ConnectionStrings:OracleDB %>" 
    runat="server"
    ProviderName="Oracle.DataAccess.Client"
    SelectCommand="SELECT Field1, Field2, Field3 FROM ban.fj_table WHERE Field1= :Field1">
</asp:SqlDataSource>

请注意,Visual Studio可能会建议使用“ System.Data.OracleClient”作为提供程序名称,但这会导致

System.Data.OracleClient.OracleException:ORA-00903:无效的表名

因此,您必须使用Oracle的提供程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

找不到路径的一部分-ASP.net/C#图片上传

来自分类Dev

使用IRepository和彼此的ASP.NET C#服务

来自分类Dev

Asp.Net结合了C#和Angular

来自分类Dev

C#和ASP.NET会话转换错误

来自分类Dev

ASP.NET和C#的一般错误

来自分类Dev

显示过去和将来的日期asp.net c#

来自分类Dev

通过C#和ASP.Net从JSON打开URL

来自分类Dev

C#和ASP .Net中的异常处理

来自分类Dev

使用IRepository和彼此的ASP.NET C#服务

来自分类Dev

C#和ASP.NET会话转换错误

来自分类Dev

在ASP.net和C#中使用jquery

来自分类Dev

ASP.Net C#和Microsoft SQL连接

来自分类Dev

关于ASP.NET和SQL Server中的C#

来自分类Dev

jquery datepicker 和 asp.net c# 空值

来自分类Dev

优化 Web 图像(C# 和 ASP.NET MVC)

来自分类Dev

在Asp.net C#的ItemDataBound上找不到DataGrid的第一行

来自分类Dev

找不到ASP.NET C#的类型或名称空间“ GenericPrincipal”

来自分类Dev

找不到路径C#asp.net的一部分,路径在那里

来自分类Dev

ASP.NET和C#:键入和粘贴时从asp.TextBox中删除空格

来自分类Dev

在C#asp.net中找不到表0

来自分类Dev

ADO.net服务器模式和ASP.net中的C#代码

来自分类Dev

ASP.net C#新行

来自分类Dev

显示PDF文件.net ASP C#

来自分类Dev

图像RotateFlip ASP.NET C#

来自分类Dev

ASP.Net C#主站点

来自分类Dev

NPOI与ASP.NET(C#)

来自分类Dev

显示PDF文件.NET ASP C#

来自分类Dev

从asp.net调用C#函数

来自分类Dev

ASP.NET查询C#错误