C#连接Oracle问题困难重重

超级小刀-技术 2010-10-20 10:52:44
谁能详细讲一下连接的步骤,常用那种方式连接Oracle数据库。通过了解刚安装一个ODP.net,使用这种方式连接时目前遇到的错误提示为:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务。从网上了解到修改文件listener.ora,修改后还是报这个错误。
...全文
208 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
SQL/PLUS用下面连接

用户名:wzb 这个用户是我用SQL语句创建的新用户
口令:wzb
主机字符串:服务器IP地址
点确定后,还是报那个错误。

用户名:system
口令:system
主机字符串:服务器IP地址
点确定后,还是报那个错误。


还有其它的默认变通用户吗?
l13873666736 2010-10-20
  • 打赏
  • 举报
回复
你的SQL/PLUS正不正常?
如是不正常
是不是侦听器没有配

另外先不要用SYS连,用普通用户试一下。
寒冰2046 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wzhibin 的回复:]

引用 8 楼 zhouzhangkui 的回复:
引用 6 楼 wzhibin 的回复:

引用 3 楼 zhouzhangkui 的回复:
先用oralce客户端工具连接试试 看是否能连接上
然后检查你的连接字符串是否正确


本人最近几天刚使用Oracle,了解太少,使用客户端怎么连接数据库服务器。我本地也安装了一个Oracle,就是不知道怎么连接。


兄弟你还是看看……
[/Quote]

有道理,首先要保证你的数据库能正常连接。可以用 SI OBJECT BROWSER。
  • 打赏
  • 举报
回复

OracleConnection oclConnDMS = new OracleConnection("Data Source=192.168.100.156;User ID=sys;Password=sys;");
传入SQL,调用下列方法。

public static DataSet Query(OracleConnection connection, string SQLString, string TableName)
{
if (SQLString != null && SQLString.Trim() != "")
{
DataSet ds = new DataSet();
OracleDataAdapter command = new OracleDataAdapter(SQLString, connection);
command.SelectCommand.CommandTimeout = 1000000000;
command.Fill(ds, TableName);
return ds;
}
else
{
return null;
}
}

在这行代码command.Fill(ds, TableName);时报错:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
周药师 2010-10-20
  • 打赏
  • 举报
回复
pl/sql 这个是一个辅助工具
你可以用客户端去连接 也可以用pl/sql工具去连接
再见品月 2010-10-20
  • 打赏
  • 举报
回复

oracle客户端连接服务器需要配置
给你baidu了下。。。补点知识吧
http://wenku.baidu.com/view/028b9e4733687e21af45a9c0.html
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhouzhangkui 的回复:]
引用 6 楼 wzhibin 的回复:

引用 3 楼 zhouzhangkui 的回复:
先用oralce客户端工具连接试试 看是否能连接上
然后检查你的连接字符串是否正确


本人最近几天刚使用Oracle,了解太少,使用客户端怎么连接数据库服务器。我本地也安装了一个Oracle,就是不知道怎么连接。


兄弟你还是看看书
首先用客户端连上 保证你的客户机是通的
然后再……
[/Quote]

我在本地安装了一个软件:Oracle - OraDb10g_home1
这个是客户端吗?怎么用客户端去连接数据库服务器,不了解,从网上也不知道怎么找啊。
用客户端还是指pl/sql?
周药师 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wzhibin 的回复:]

引用 3 楼 zhouzhangkui 的回复:
先用oralce客户端工具连接试试 看是否能连接上
然后检查你的连接字符串是否正确


本人最近几天刚使用Oracle,了解太少,使用客户端怎么连接数据库服务器。我本地也安装了一个Oracle,就是不知道怎么连接。
[/Quote]

兄弟你还是看看书
首先用客户端连上 保证你的客户机是通的
然后再用程序去连接
lilin8905 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wzhibin 的回复:]

引用 1 楼 lilin8905 的回复:
解决方案:开始》运行》cmd 输入netsh winsock reset回车,重启,OK搞定……

刚才试了一下,问题依然存在。
[/Quote]
用oralce客户端工具连接试试 把配置文件贴出来看看
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhouzhangkui 的回复:]
先用oralce客户端工具连接试试 看是否能连接上
然后检查你的连接字符串是否正确
[/Quote]

本人最近几天刚使用Oracle,了解太少,使用客户端怎么连接数据库服务器。我本地也安装了一个Oracle,就是不知道怎么连接。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 djwkl 的回复:]
ADO.NET方式啊
System.Data.OracleClient对Oracle数据库的支持还是不错的
使用方法和System.Data.SqlClient基本没有区别
虽然偶尔会报一个NotImplementedException,呵呵
[/Quote]

using System.Data.OracleClient;

using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
这两种方式都试了。主要是现在遇到这个问题,不知道怎么解决。或者能详细说一下吗?
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lilin8905 的回复:]
解决方案:开始》运行》cmd 输入netsh winsock reset回车,重启,OK搞定……
[/Quote]
刚才试了一下,问题依然存在。
周药师 2010-10-20
  • 打赏
  • 举报
回复
先用oralce客户端工具连接试试 看是否能连接上
然后检查你的连接字符串是否正确
djwkl 2010-10-20
  • 打赏
  • 举报
回复
ADO.NET方式啊
System.Data.OracleClient对Oracle数据库的支持还是不错的
使用方法和System.Data.SqlClient基本没有区别
虽然偶尔会报一个NotImplementedException,呵呵
lilin8905 2010-10-20
  • 打赏
  • 举报
回复
解决方案:开始》运行》cmd 输入netsh winsock reset回车,重启,OK搞定……
zcty520 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wzhibin 的回复:]
SQL/PLUS用下面连接

用户名:wzb 这个用户是我用SQL语句创建的新用户
口令:wzb
主机字符串:服务器IP地址
点确定后,还是报那个错误。

用户名:system
口令:system
主机字符串:服务器IP地址
点确定后,还是报那个错误。


还有其它的默认变通用户吗?
[/Quote]

你用SQL/PLUS连接不上,应该先解决连接问题。
仔细检查一下你的listener.ora文件吧,看看服务名、ip地址等信息是否正确(特别是空格什么的容易忽略)
liangfeng861 2010-10-20
  • 打赏
  • 举报
回复
恩,有ADO.net连接挺快的
renyouprince 2010-10-20
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
  • 打赏
  • 举报
回复
你们说的都太简单了,没有一个人详细说一下具体怎么做?

不太了解Oracle,你们回答了我,还是不知道怎么做,去网上也不知道怎么找。
其实很简单的一个问题,用C#连接Oracle,只要能得到数据集dataset就行。
OracleConnection oclConnDMS = new OracleConnection("Data Source=192.168.100.156;User ID=sys;Password=sys;");
传入SQL,调用下列方法。

public static DataSet Query(OracleConnection connection, string SQLString, string TableName)
{
if (SQLString != null && SQLString.Trim() != "")
{
DataSet ds = new DataSet();
OracleDataAdapter command = new OracleDataAdapter(SQLString, connection);
command.SelectCommand.CommandTimeout = 1000000000;
command.Fill(ds, TableName);
return ds;
}
else
{
return null;
}
}

在这行代码command.Fill(ds, TableName);时报错:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
内容概要:本文针对考虑算力负荷时空迁移特性的多微电网与共享储能系统的协同优化调度问题展开研究,并提供了完整的Matlab代码实现。研究构建了融合算力负荷动态迁移特征的数学优化模型,通过引入共享储能机制,实现多微电网间的能量互济与资源协同,有效提升系统对分布式能源波动性和负荷不确定性的适应能力。文中采用先进的优化算法求解该调度模型,重点解决了算力任务在时空维度上的灵活调配与电力供需平衡之间的耦合关系,旨在提高综合能源系统的运行经济性、可靠性与灵活性。所提出的方法为未来能源互联网背景下电-算协同管理提供了理论支持与技术路径。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的科研人员、高校研究生,尤其适用于从事微电网运行、共享储能配置、综合能源系统优化以及电-算融合等领域研究的专业技术人员。; 使用场景及目标:①开展多微电网与共享储能系统的协同调度策略设计与仿真验证;②支撑高比例可再生能源接入下的新型电力系统优化运行研究;③为考虑算力迁移的数据中心与电网协同调度提供建模与算法参考;④作为高水平学术论文撰写或学位课题研究的技术支撑与代码复现平台。; 阅读建议:建议读者结合Matlab代码与相关学术文献深入研读,重点关注目标函数构建、约束条件设定及求解器调用逻辑,可在现有模型基础上拓展多时间尺度优化、不确定性建模(如鲁棒优化、随机规划)或加入实际工程约束进行二次开发与深化研究。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧