ORA-12154,TNS无法处理服务名 如题。 但用sql plus 和 pl/sql可以连接,本地服务命名也测试通过。可用应用程序访问时却提示12154错误信息。 望大侠指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是.net1.1 C#的应用程序. using System;using System.Collections.Generic;using System.Text;using System.Configuration;using System.Collections;namespace Pho.DBOP{ public sealed class DatabaseFactory { private string m_strDbType = string.Empty; private string m_strDbConnString = string.Empty; public DatabaseFactory() { } public DBOPAbstractFactory CreateDatabase() { return CreateDatabase(GetDefaultConnectionString()); } public DBOPAbstractFactory CreateDatabase(string strConnectionString) { DBOPAbstractFactory retDbFactory = null; SpiltTypeAndDbConnString(strConnectionString, out m_strDbType, out m_strDbConnString); string str = this.m_strDbType.ToLower(); if (str == null) { return retDbFactory; } str = string.IsInterned(str); if (str == "sqlserver") { return new DBOPSqlFactory(this.m_strDbConnString); } return new DBOPSqlFactory(this.m_strDbConnString); } private void SpiltTypeAndDbConnString(string strDbShellConnectionString,out string DatabaseType,out string ConnectionString) { string[] strArryTmp = strDbShellConnectionString.Split(';'); DatabaseType = strArryTmp[0].Replace("DbType=", string.Empty); ConnectionString = strDbShellConnectionString.Replace(strArryTmp[0] +";", string.Empty); } private string GetDefaultConnectionString() { string strRet = string.Empty; //.net2.0 strRet = ConfigurationManager.ConnectionStrings["Dbop_DbConnectionString"].ToString(); //.net1.1 //strRet = ConfigurationSettings.AppSettings["Dbop_DbConnectionString"].ToString(); return strRet; } }} <appSettings> <add key="Dbop_DbConnectionString" value="DbType=oracle;user id=prams;password=prams;data source=prams;"/> </appSettings>web.config我不太记得了。这段配置在公司。 <appSettings> <add key="Dbop_DbConnectionString" value="DbType=oracle;user id=prams;password=prams;data source=prams;"/> </appSettings>==========================================================================================================本地服务名是 prams 吗?不是的话,修改 data source 参数。不会是服务名、用户名称和密码都是 prams 吧? 问题解决了。估计就是文件夹权限的问题。把Orcl的目录重新命名了(修复安装到另一个目录),就突然好了。奇怪~~~~~~~~~~~~~~~~ oracle中的主键、约束、索引 关于权限的问题 请问谁有Oracel关于确发器方面的资料么,在线给分 求救ora-02165,在线等待 关于启动监听程序发生的错误 一个小问题 我在程序中想用oracle提供的库去连接ORACLE,但是我不知道怎么做?我现在也知道怎么弄?大家帮帮我吧 请教一个简单的表结构设计问题? TNSNAMES.ORA里的SERVICE_NAME到底是数据库中哪里设置的啊,服务名是指什么 简单问题,来者有分 数据模型,表示运算关系 多表关联的执行率问题
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Collections;namespace Pho.DBOP
{
public sealed class DatabaseFactory
{
private string m_strDbType = string.Empty;
private string m_strDbConnString = string.Empty; public DatabaseFactory()
{
} public DBOPAbstractFactory CreateDatabase()
{
return CreateDatabase(GetDefaultConnectionString());
} public DBOPAbstractFactory CreateDatabase(string strConnectionString)
{
DBOPAbstractFactory retDbFactory = null;
SpiltTypeAndDbConnString(strConnectionString, out m_strDbType, out m_strDbConnString);
string str = this.m_strDbType.ToLower();
if (str == null)
{
return retDbFactory;
}
str = string.IsInterned(str);
if (str == "sqlserver")
{
return new DBOPSqlFactory(this.m_strDbConnString);
}
return new DBOPSqlFactory(this.m_strDbConnString);
} private void SpiltTypeAndDbConnString(string strDbShellConnectionString,out string DatabaseType,out string ConnectionString)
{
string[] strArryTmp = strDbShellConnectionString.Split(';'); DatabaseType = strArryTmp[0].Replace("DbType=", string.Empty); ConnectionString = strDbShellConnectionString.Replace(strArryTmp[0] +";", string.Empty);
} private string GetDefaultConnectionString()
{
string strRet = string.Empty;
//.net2.0
strRet = ConfigurationManager.ConnectionStrings["Dbop_DbConnectionString"].ToString();
//.net1.1
//strRet = ConfigurationSettings.AppSettings["Dbop_DbConnectionString"].ToString();
return strRet;
}
}
}
<appSettings>
<add key="Dbop_DbConnectionString" value="DbType=oracle;user id=prams;password=prams;data source=prams;"/>
</appSettings>web.config我不太记得了。这段配置在公司。
<add key="Dbop_DbConnectionString" value="DbType=oracle;user id=prams;password=prams;data source=prams;"/>
</appSettings>==========================================================================================================
本地服务名是 prams 吗?不是的话,修改 data source 参数。不会是服务名、用户名称和密码都是 prams 吧?