日期:2014-05-17  浏览次数:20848 次

连接ORACLE数据库出了问题,很奇怪的问题,请指教下。。。。


如图。这是哪里出了问题呢?请大家帮帮忙。。。。。。
------最佳解决方案--------------------
12楼哥们,你这种方式可以搞定,多谢。

但是有一点,这个是我手动填进去的。

为什么没有获取到呢,郁闷了。


------其他解决方案--------------------
引用:
代码生成成功了。就是启动时提示监听程序未获得SID。这是什么原因呢?

难道又是tnsnames.ora文件在作祟??贴出来大家帮忙看看。

确认一下你的tnsnames里面的service_name和你数据库的global_name是否相同
------其他解决方案--------------------
global_name从哪里看?
------其他解决方案--------------------
HOST那里填我的主机名或者IP吧?服务器和客户端都装我机器上了。

可是我就纳闷了。为什么就获取不到呢?我这样手动填写的,不灵活呀。
------其他解决方案--------------------
代码生成成功了。就是启动时提示监听程序未获得SID。这是什么原因呢?

难道又是tnsnames.ora文件在作祟??贴出来大家帮忙看看。

------其他解决方案--------------------
还有一点补充下。我用PL/SQL Developer登陆数据库是正常登陆的,没有问题的。我的表都建立好了,没有一点问题啊。

这就更奇怪了。。希望大家能指教下。。。


------其他解决方案--------------------
引用:
还有一点补充下。我用PL/SQL Developer登陆数据库是正常登陆的,没有问题的。我的表都建立好了,没有一点问题啊。

这就更奇怪了。。


有什么奇怪的,你PL/SQL Developer连的是ORCL这个串,程序链接的明显是后面那个串
------其他解决方案--------------------
引用:
引用:
还有一点补充下。我用PL/SQL Developer登陆数据库是正常登陆的,没有问题的。我的表都建立好了,没有一点问题啊。

这就更奇怪了。。

有什么奇怪的,你PL/SQL Developer连的是ORCL这个串,程序链接的明显是后面那个串


怎么看出来我程序引用的后面那个串啊?我这是动软自动生成的连接数据库,按说不会错啊。 动软正常连接了数据库之后,才生成这些代码的。
------其他解决方案--------------------
创建connection对象的语句发出来看看
------其他解决方案--------------------
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand cmd = new OracleCommand(SQLString,connection))
{
try
{
connection.Open();
int rows=cmd.ExecuteNonQuery();
return rows;
}
catch(System.Data.OracleClient.OracleException E)
{
connection.Close();
throw new Exception(E.Message);
}
}
}
------其他解决方案--------------------
这个connectionString的内容是:“Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=)));User Id=;Password=”
------其他解决方案--------------------
OracleConnection connection = new OracleConnection(connectionString);
然后connection.Open()时立马报出异常,如图(提问时贴出来的)。

肯定是connectionString这个连接串有问题。连接串我在10楼也贴出来了。大家帮忙分析下啊,谢谢。
------其他解决方案--------------------
引用:
这个connectionString的内容是:“Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=这里要填)));User Id=这里要填;Password=这里也要填”


把你的数据库用户名密码填上
------其他解决方案--------------------
host=那里也要填
------其他解决方案--------------------