RedHat 5上安装oracle 11gR2,在sqlplus中连接数据库时报错,listener was not given*

RedHat 5上安装oracle 11gR2,在sqlplus中连接数据库时报错,listener was not given*,第1张

sqlplus / as sysdba

select name from v$database; /查询实例名/

如果不是ora11g需要修改监听文件。

你的tnsnamesora这个文件里根本就是空的,要配置。

解决办法如下:

首先检查 我的电脑->管理->服务,查看是否启动了MySQL,然后打开 运行->regedit 打开注册表编辑器,检查注册表,路径见下图左下角的路径信息,把ImagePath改成你现在的路径(注意只改双引号内地路径地址)

然后在C:\Windows\System32下找到cmdexe右键以管理员身份输入mysqld --initialize-insecure自动生成无密码的root用户,同时自动生成一个data文件夹,这时候再进行MySQL的安装,net start mysql,启动服务。

如果服务管理器中没有MySQL,在成功安装MySQL后,使用mysql的时候,在CMD中输入net start mysql,提示服务名无效,查看服务列表也找不到mysql服务。

解决办法:

在C:\Windows\System32下找到cmdexe以管理员身份运行程序,

切换到MySQL安装目录的bin目录下

运行如下命令(具体试个人安装的MySQL版本及路径)

>cd C:\Program Files\MySQL\MySQL Server 56\bin

C:\Program Files\MySQL\MySQL Server 56\bin>mysqldexe -install

提示  Service successfully installed

此时,刷新服务管理器,就可以看到MySQL的服务了,然后回到前面的步骤修改ImagePath路径,然后进入cmd,输入mysqld --initialize-insecure自动生成无密码的root用户,同时自动生成一个data文件夹,这时候再进行MySQL的安装,net start mysql,启动服务。

NHibernate各种数据库连接参数文件配置方法说明

//配置文件Config/Hibernatecfgxml内容如下所示:

<xml version="10" encoding="utf-8" >

<hibernate-configuration xmlns="urn:nhibernate-configuration-22" >

<session-factory name="CwfServer">

<property name="connectiondriver_class">NHibernateDriverSqlClientDriver</property>

<property name="dialect">NHibernateDialectMsSql2008Dialect</property>

<property name="connectionconnection_string">server=1921681244;database=wf_db_t;uid=sa;pwd=supersit1;</property>

<property name="adonetbatch_size">10</property>

<property name="show_sql">true</property>

<property name="command_timeout">60</property>

<property name="hbm2ddlauto">update</property>

<property name="querysubstitutions">true 1, false 0, yes 'Y', no 'N'</property>

<!--<property name="proxyfactoryfactory_class">NHibernateByteCodeLinFuProxyFactoryFactory, NHibernateByteCodeLinFu</property>-->

<mapping assembly="NetNHibernateDB"/>

<mapping assembly="Cwfapi"/>

<mapping assembly="CwfEngine"/>

</session-factory>

</hibernate-configuration>

msql数据库连接:

一、传统方法:

1、本人使用JDBC驱动mysql-connector-java-516-binjar,将此驱动包放到%Tomcat_Home%\common\lib\下,

2、在应用程序中加载此包,右键项目属性->java build path->libraries->external libraries

3、在应用程序中加载驱动,ClassforName("commysqljdbcDriver")newInstance()

4、 用javasqlDriverManager类取得一连conn=DriverManagergetConnection(url);

5、用javasqlStatement接口创建stmt 对象,stmt=conncreateStatement();

或javasqlPreraredStatement接口 pstmt;

6、 用javasqlResultSet接口创建rst对象,rst = stmtexecuteQuery(sql语句);

7、 处理结果集,断开数据库连接。

二、数据池连接技术

1、 将mysql-connector-java-516-binjar,也在%Tomcat_Home%\common\lib\下,

2、 在tomcat中manager中配置数据源名,配置完后内容自动放在conf\serverxml中。

3、 在conf\catalina\localhost\下建你应用程序的xml文件,例wei2xml中,内容为<Context docBase="wei2" path="/wei2">

<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javaxsqlDataSource"/>

</Context>

其中jdbc/mysql为配置的JNDI;

下面说下JNDI与DataSource

JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;

要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。

JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接)

DataSoure 是javaxsqlDataSource类型。

数据库连接池分三步:

1、 指定数据库连接的逻辑名,起名java:comp/env/myjdbc

2、 获取与逻辑名相当的DataSource对象,代码为:

InitialContext ctx = new InitialContext();

DataSource ds = (DataSource)ctxlookup(“java:comp/env/myjdbc”);

3、 由DataSource对象获取Connection对象

Connection con=dsgetConnection();

综上所有步骤:

Connection con;

Private void init(){

Try{

InitialContext ctx = new InitialContext();

DataSource ds = (DataSource)ctxlookup(“java:comp/env/jdbc/mysql”);

Conn = dsgetConnection();

}

Catch(Exception e){

eprintStackTrace();

}

}

这段代码使用连接池技术返回一个Connection对象

1、数据库连接过多:检查数据库连接池的设置,是否需要关闭闲置连接。

2、中间件版本过旧:升级中间件到最新版本,可以修复一些已知的问题

3、服务器负载过高:检查服务器负载状况,关闭不必要的服务或进程。

4、硬盘空间不足:清空不需要的文件或日志,释放硬盘空间。

我在webSphere下部署程序遇到问题:

1、程序报错:报错后,需调整代码,就你上面所说的问题,我认为是程序在不同中间件下格式问题,像我之前编写过的代码,在tomcat下没事儿,但是在was下就有问题,因为代码编写不够规范,因不知具体报错信息,此处不好说,可查看SystemOutlog或SystemErrolog查看

2、自动提交问题:这个比较麻烦,我的代码在查询时使用到临时表,tomcat和weblogic下均没有问题,但是was好像是必须设置自动提交,也就是autoCommit,否则程序报错,因此临时表中数据尚未查询出,就被提交的清除了,因此换了其他方式。这里还请你注意

3、was内存空间,调整堆栈空间为2-4GB,比较合理。

以上为一些was经验,也不是很多,希望对你有帮助

以上就是关于RedHat 5上安装oracle 11gR2,在sqlplus中连接数据库时报错,listener was not given*全部的内容,包括:RedHat 5上安装oracle 11gR2,在sqlplus中连接数据库时报错,listener was not given*、java无法连接数据库问题(急)、NHibernate有时候会出现连接不上数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10167430.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存