社区
Oracle
帖子详情
怪异的ORA-12154
autumnlj
2009-08-31 03:18:01
C#写的Win form 程序,需要读取Oracle数据库信息。
现在:
1.在PL/SQL Developer 中能正常读取Oracle;
2.sqlplus能正常读取Oracle;
3.Net Manage 下测试服务名正常连通;
4.到C#程序里,提示“ORA-12154: TNS:could not resolve service name”;
百思不得其解,望哪位高人给解决下.
注:以上各种连接都是在同一台机器上连接远程的Oracle。
...全文
1740
17
打赏
收藏
怪异的ORA-12154
C#写的Win form 程序,需要读取Oracle数据库信息。 现在: 1.在PL/SQL Developer 中能正常读取Oracle; 2.sqlplus能正常读取Oracle; 3.Net Manage 下测试服务名正常连通; 4.到C#程序里,提示“ORA-12154: TNS:could not resolve service name”; 百思不得其解,望哪位高人给解决下. 注:以上各种连接都是在同一台机器上连接远程的Oracle。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
白发程序猿
2009-09-01
打赏
举报
回复
要贴的是你的数据库连接的代码
ckc
2009-09-01
打赏
举报
回复
不懂c#,不过看你的代码很奇怪,没看到数据库连接相关的设置啊
只看到你在调用sql
hotyxm
2009-09-01
打赏
举报
回复
试试下面的方法看一下
#region 类中的全局变量
private OracleConnection sqlcon; //申明一个SqlConnection对象
private OracleCommand sqlcom; //申明一个SqlCommand对象
private OracleDataAdapter sqldata; //申明一个SqlDataAdapter对象
private string ConnStr;
#endregion
#region 构造函数
/// <summary>
/// 构造函数,初始化时连接数据库
/// </summary>
public DB_Common()
{
string connStr;
connStr ="Data Source=SID;user=asset;password=trasset;";//
sqlcon = new OracleConnection(connStr);
}
#endregion
#region 打开数据库
/// <summary>
/// 打开数据库
/// </summary>
public void OpenConn()
{
if (this.sqlcon.State != ConnectionState.Open)
this.sqlcon.Open();
}
#endregion
#region 关闭数据库联接
/// <summary>
/// 关闭数据库联接
/// </summary>
public void CloseConn()
{
if (sqlcon.State == ConnectionState.Open)
sqlcon.Close();
}
#endregion
public DataSet ExceDS(string SqlCom)
{
try
{
OpenConn();
sqlcom = new OracleCommand(SqlCom, sqlcon);
sqldata = new OracleDataAdapter();
sqldata.SelectCommand = sqlcom;
DataSet ds = new DataSet();
sqldata.Fill(ds);
return ds;
}
finally
{
// sqlcon.Close();
CloseConn();
}
}
这样调用
dataset ds = fn.ExceDS(sql);
response.writ(ds.table[0].rows.count);
inthirties
2009-09-01
打赏
举报
回复
你的c#是用的什么方式连接的oracle数据库odbc.oci, ...
lihan6415151528
2009-09-01
打赏
举报
回复
建议到c#那里问问 ,不是ora的问题
zhangwonderful
2009-09-01
打赏
举报
回复
把连接字符串粘贴出来看看,应该是连接字符串的问题。请仔细检查tnsname.ora中配置的SID与安装的数据库SID是否一致,连接字符串中的SID是否与数据库SID一致。
vivi09
2009-08-31
打赏
举报
回复
试试在环境变量里添加
ORACLE_SID=XXXX(SID名)
ojuju10
2009-08-31
打赏
举报
回复
不懂c#,建议到c#模块提问
autumnlj
2009-08-31
打赏
举报
回复
直接改成下面的代码也不行:
public DataTable GetSensors(OracleConnection conn)
{
DataTable table1 = null;
try
{
table1 = new DataTable();
conn.Open();
string sql = "select * from BRN_DATA_POINTTABLE";
OracleCommand command = new OracleCommand();
command.CommandText = sql;
command.Connection = conn;
OracleDataAdapter adapter = new OracleDataAdapter(command);
adapter.Fill(table1);
}
catch (Exception e)
{
string content = e.Message + "连接字符串:\"" + conn.ConnectionString + "\"";
Log.Write(2, content);
}
return table1;
}
autumnlj
2009-08-31
打赏
举报
回复
OracleHelper用的微软的Petshop里面的
autumnlj
2009-08-31
打赏
举报
回复
public static DataTable ExecuteDataTable(OracleConnection conn, CommandType cmdType, string cmdText, string tablename, params OracleParameter[] commandParameters)
{
DataSet inds = new DataSet();
OracleDataAdapter Da = new OracleDataAdapter(cmdText, conn);
PrepareCommand(Da.SelectCommand, conn, null, cmdType, cmdText, commandParameters);
Da.Fill(inds, tablename);
Da.SelectCommand.Parameters.Clear();
Da.Dispose();
return inds.Tables[0];
}
cab1225
2009-08-31
打赏
举报
回复
学习一下!!!!
autumnlj
2009-08-31
打赏
举报
回复
public DataTable GetTableInfo(OracleConnection conn)
{
string strSql = "select * from tableA";
string strTableName = "tableA";
DataTable dt = null;
try
{
dt = OracleHelper.ExecuteDataTable(conn, CommandType.Text, strSql , strTableName, null);
}
catch (Exception e)
{
string content = e.Message + "连接字符串:\"" + conn.ConnectionString + "\"";
Log.Write(content);
}
return dt;
}
cosio
2009-08-31
打赏
举报
回复
C#连接ORACLE的语句贴出来看看!
bzcnc
2009-08-31
打赏
举报
回复
帮lZ顶一下,有的使用使用语言连接oracle数据库,并不是数据库本身的问题,有的时候是编程语言的问题,仅供参考
autumnlj
2009-08-31
打赏
举报
回复
TNS一直用的是IP
cosio
2009-08-31
打赏
举报
回复
看一下TNS配置,都改为IP试试!
ora
-
12154
TNS:"无法处理服务名"的一个解决方法
很
怪异
的一个问题,在网络环境下配置客户端,竟然怎么也连不上主机了,看了不少帖子,大多数都是修 改tnsnames.
ora
文件中的配置,但试了很多也不行,最后打开了sqlnet.
ora
中的文件发现了问题所在, # SQLNET.
ORA
...
ora
-
12154
TNS
ora
-
12154
TNS:"无法处理服务名"的一个解决方法 很
怪异
的一个问题,在网络环境下配置客户端,竟然怎么也连不上主机了,看了不少帖子,大多数都是修 改tnsnames.
ora
文件中的配置,但试了很多也...
ora
-
12154
TNS问题(
Ora
cle 客户端连接数据库异常)
很
怪异
的一个问题,在网络环境下配置客户端,竟然怎么也连不上主机了,看了不少帖子,大多数都是修 改tnsnames.
ora
文件中的配置,但试了很多也不行,最后打开了sqlnet.
ora
中的文件发现了问题所在, # SQLNET.
ORA
...
ora
-
12154
TNS:"无法处理服务名"的一个解决方法(转)
很
怪异
的一个问题,在网络环境下配置客户端,竟然怎么也连不上主机了,看了不少帖子,大多数都是修 改tnsnames.
ora
文件中的配置,但试了很多也不行,最后打开了sqlnet.
ora
中的文件发现了问题所在, # SQLNET.
ORA
...
ora
cle新手常遇到的问题及解决方案
1、
ORA
-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏。如果是前者,使用命令net start
Ora
cle
Ora
Home81TNSListener(名字可能有出入)即可;如果是后者,则使用“Net8 Configuration Assistant”...
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章