asp.net – Oracle.ManagedDataAccess:TNS:无法解析指定的连接标识符
尝试从新的ASP.NET MVC 4应用程序连接到Oracle数据库时出现以下错误:“ORA-12154:TNS:无法解析指定的连接标识符”.我正在使用Oracle.ManagedDataAccess DLL(版本4.121.1.0)尝试连接到Oracle 10g数据库.这是事情 – 我有一个集成测试程序集,使用这个最小的App.config成功连接到数据库: <connectionStrings> <add name="OracleConnection" connectionString="DATA SOURCE=TNS_NAME;PASSWORD=xxx;PERSIST SECURITY INFO=True;USER ID=xxx" providerName="Oracle.ManagedDataAccess.Client" /> </connectionStrings> 但是,如果我尝试使用所有疯狂的Web.config设置运行我的Web应用程序,我收到错误“ORA-12154:TNS:无法解析指定的连接标识符”.我究竟做错了什么?为什么我的集成测试程序集的配置如此简单,Web.config如此复杂?这是我的Web.config的相关部分(取自Deploying and Configuring ODP.NET to work without installation with Entity Framework): 自定义configSection: <configSections> <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler,Oracle.ManagedDataAccess,Version=4.121.1.0,Culture=neutral,PublicKeyToken=89b483f429c47342" /> </configSections> 相应的配置部分: <oracle.manageddataaccess.client> <version number="*"> <edmMappings> <edmMapping dataType="number"> <add name="bool" precision="1"/> <add name="byte" precision="2" /> <add name="int16" precision="5" /> </edmMapping> </edmMappings> </version> </oracle.manageddataaccess.client> 自定义system.data节点: <system.data> <DbProviderFactories> Remove in case this is already defined in machine.config <remove invariant="Oracle.DataAccess.Client" /> <remove invariant="Oracle.ManagedDataAccess.Client" /> <add name="ODP.NET,Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET,Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory,PublicKeyToken=89b483f429c47342" /> </DbProviderFactories> </system.data> EntityFramework节点: <entityFramework> <defaultConnectionFactory type="Victoria.Data.OracleConnectionFactory,EntityFramework" /> </entityFramework> 更新1:阅读完http://docs.oracle.com/cd/E16655_01/win.121/e17732/featConfig.htm#ODPNT8161后,我尝试将我的Web.config oracle.manageddataaccess.client修改为以下内容并且可以正常工作.但是,让connectionString节点引用TNS名称和对同一TNS名称文件的此额外引用似乎不正确. <oracle.manageddataaccess.client> <version number="*"> <dataSources> <dataSource alias="SIEBMATS" descriptor="(DESCRIPTION=(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.yyy.zzz)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = siebmats)))" /> </dataSources> <edmMappings> <edmMapping dataType="number"> <add name="bool" precision="1"/> <add name="byte" precision="2" /> <add name="int16" precision="5" /> </edmMapping> </edmMappings> </version> </oracle.manageddataaccess.client> 解决方法您可以尝试的一件事是连接字符串如下:connectionString =“Data Source = // SERVER:PORT / INSTANCE_NAME; USER = XXX; PASSWORD = XXX”. 这里有用的参考: 这对EF有问题也有帮助: 希望有所帮助. (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 如何在Razor中为Nullable创建编辑器模板
- asp.net-mvc – 如何与NopCommerce MVC合作
- asp.net下文件上传和文件删除的代码
- asp.net-mvc – 文件上传MVC
- asp.net – 如何从TableAdapter中检索存储过程返回值
- LoginView中的ASP.NET LoginStatus不会触发LoggingOut事件
- asp.net-mvc – 如何忽略ASP.NET MVC 4中特定View文件夹或特
- asp.net – 基于函数式编程的UI
- asp.net-mvc-3 – MVC 3 WebGrid – 可以进行内联编辑吗?
- 解决asp.net Sharepoint无法连接发布自定义字符串处理程序,
- asp.net-mvc – asp.net MVC应该是View-Model封装
- 在ASP.NET RadioButtonList ListItem上设置CSS类
- 如何合理地构建我的ASP.NET MVC 2项目与区域
- 在mvc4 asp.net中的Razor View中的模型声明
- asp.net操作xml增删改示例分享
- asp.net-mvc – 输出在剃刀通过变量?
- asp.net-mvc-3 – 应该使用HTTP引用来验证还是令
- 优化 – 字典/客户端VS应用程序变量
- asp.net-mvc-4 – Can Castle Windsor可用于在AS
- 模型 – 视图 – 控制器 – ASP.NET WebForms vs