MyEclipse怎么都连接不上数据库,(ODBC驱动程序管理)无效的字符串或缓冲区长度

MyEclipse怎么都连接不上数据库,(ODBC驱动程序管理)无效的字符串或缓冲区长度,第1张

你试试下面的办法,应该可以解决问题的。

一、配置数据库连接

本教程使用Oracle数据库为例。所有其他的JDBC驱动程序创建连接的过程都类似。了解JDBC更多详情请访问Sun网站。

1 选择Window>Open Perspective>MyEclipse Database Explorer。当您第一次打开视角来看时,左边显示的数据库浏览器视图仅包含预配置的MyEclipse的Derby驱动程序。

您需要为每个单独到数据库的连接创建一个新的驱动程序。

点击DB浏览器视图

,选择 New

添加一个新的驱动程序

从Driver Template下拉菜单中选择 Oracle (Thin driver)

在驱动程序的名称字段类型为Oracle。

修改提供的URL模板为正确的连接字符串。

数据库驱动程序的详细信息

单击 Add JARs 按钮。

浏览该JDBC驱动程序的JAR文件或文件夹类的位置时,选中它,然后单击

二、打开数据库连接

当MyEclipse启动或数据库连接导致任何事件被丢弃时,打开一个连接。例如数据库服务器重启。

右键单击该驱动程序,然后选择打开连接。

如果连接配置文件被配置为禁用保存密码选项,则打开数据库连接向导。

输入用户名和密码

输入密码

如果您需要对数据库的修改进行立即提交,那么选择自动提交复选框。您可以在MyEclipse数据库资源管理器的首选项中设置自动提交为默认设置。

单击确定来启动数据库连接进程,新的数据库连接打开并显示在DB浏览器中。

在DB Explorer中新的数据库连接

注意:如果您关闭数据库浏览器视图或切换到不同的视角,连接保持打开状态。

TSDB--用于存储和管理时间序列数据

1下载连接驱动包

Microsoft SQL Server JDBC Driver 40exe

2设置SQL SERVER 2008服务器

2-1、“开始”→“程序”→“MicrosoftSQLServer2008”→“配置工具”→“SQLServerConfigurationManager”(确认“SQLServerManagementStudio”已关闭)

2-2、“SQLServer2005服务”中停止服务“SQLServer(SQLEXPRESS)”(默认是启动状态)

2-3、“SQLServer2005网络配置”→“MSSQLSERVER的协议”,启动“TCP/IP”(默认是禁用状态),然后双击“TCP/IP”进入属性设置,在“IP地址”里,确认“IPAll”中的“TCP端口”为1433

2-4、“SQLServer2005服务”中启动服务“SQLServer(MSSQLSERVER)”(默认是停止状态)

2-5、关闭“SQLServerConfigurationManager”(此时可以启动“SQLServerManagementStudio”,并用帐户sa、密码liteng登录,SQLServer服务器设置正确的话应该能登录成功)

3、创建测试数据库和表:

启动“SQLServerManagementStudio”,并用帐户sa、密码liteng登录(SQLServer服务器设置正确的话应该能登录成功),创建一个数据库

USERS ,内建一个表USERS。后随便插入数据~~~

Create database USERS

CREATE TABLE USERS

(

UserName varchar(50),

PassWords varchar(50)

)

4、创建测试的Java工程和代码

4-1、启动“MyEclipse”→“File”→“New”→“Project”→“JavaProject”,命名为Test

4-2、打开Test的“Properties”→“JavaBuildPath(JAVA构建路径)”→“Libraries”→“AddExternalJARs”,选择下载好的连接驱动包“sqljdbcjar”或“sqljdbc4jar”,最好选择一个,然后点击“OK”确定。

注:如出现“此驱动程序不支持 Java Runtime Environment (JRE) 16 版。请使用支持 JDBC 40 的 sqljdbc4jar 类库。”则选择正确的jar包。把

4-3、创建一个测试类,编写如下代码:

package itcastdomain;

import javasql;

public class Test {

public static void main(String[] args) {

Connection con=null;

Statement stmt=null;

ResultSet rs=null;

try{

ClassforName("commicrosoftsqlserverjdbcSQLServerDriver");

con=DriverManagergetConnection("jdbc:sqlserver://localhost:1433;DatabaseName=USERS","sa","liteng");

stmt=concreateStatement();

rs=stmtexecuteQuery("select UserName,PassWords from USERS");

while(rsnext()){

String strUserName=rsgetString(1);

String strPassWord=rsgetString(2);

Systemoutprintln(strUserName+"\t"+strPassWord+"\t");

}

if(rs!=null)

rsclose();

if(stmt!=null)

stmtclose();

if(con!=null)

conclose();

}catch(Exception e){

eprintStackTrace();

}finally{

Systemoutprintln("GameOver~");

}

}

}

4-4、执行代码,应该显示USERS表的数据

你上面是ODBC的连接字符串吧?

String driverName = "commicrosoftsqlserverjdbcSQLServerDriver"; //加载JDBC驱动

String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=要连数据库名"; //连接服务器和数据库

String userName = "数据库用户名"; //输入具体用户名比sa

String userPwd = "用户密码"; //密码

Connection dbConn;try {ClassforName(driverName);

dbConn = DriverManagergetConnection(dbURL, userName, userPwd);

Systemoutprintln("Connection Successful!"); //连接成功 控制台输出Connection Successful!

希望可以帮到你,求采纳,谢谢!

myeclipse中用tomcat服务器配置jndi的方法:

1、配置D:\Tomcat 55\conf\serverxml在serverxml中的中添加如下配置信息:

type="javaxsqlDataSource"

driverClassName="commysqljdbcDriver"

password="yang"

maxIdle="2"

maxWait="5000"

username="root"

url="jdbc:mysql://localhost:3306/math"

maxActive="4"/>

注:name是连接池的名字可任取,type,是数据源的类型,driverClassName是驱动程序的类名好像得这么写,url是数据库的路径math为数据库名。

2、配置D:\Tomcat 55\webapps\DBtest\WEB-INF\webxml在中加入如入信息

DB Connection

Test

javaxsqlDataSource

Container

注:其中的res-ref-name必须和前面的连接池名相同。

3、配置D:\Tomcat 55\webapps\DBtest\META-INF\contextxml全部内容如下

debug="5"

reloadable="true"

crossContext="true">

注:path是工作区的路径,ResourceLink name和global好像都得和前面的连接池的名字相同。

同时安装了tomcat和oracle9i后,调试jsp出现--连接到localhost 提示:位于 XDB 的服务器 localhost 要求用户名和密码,原因是端口冲突,调整如下

机器上装了oracle,是oracle自带的http server占了8080端口,oracle的tomcat端口冲突,要么改tomcat端口,要么把http server停掉。改tomcat端口的方法如下

(1)、在Tomcat安装根目录下的字文件夹conf中找到文件serverxml

(2)、将其用记事本程序打开,找到这段文字

<!-- Define a non-SSL HTTP/11 Connector on port 8080 -->

<Connector port="8080" maxHttpHeaderSize="8192"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" />

将以上文字中的Connector port="8080"中的8080更改为8888即可,重新启动Tomcat,使用http://localhost:8888登录,发现问题已解决。

或者: 产生原因:8080端口被其他服务占用 一般装了Oracle的系统都会产生这种问题,解决的方法有两种: 1、 更改Tomcat的端口,这个比较简单,我们在Tomcat 55“conf下的serverxml更改默认的端口8080即可。 2、 禁用Oracle服务。我们在“计算机管理”中的“服务”中找到OracleServiceORCL,停止掉就OK了。不过这并不是一种完美的做法,因为很多时候我们是同时需要用到Tomcat和Oracle两种服务的!

在myeclipse中,如果使用自带得tomcat,则在选择运行服务器时,选择tomcat的config-->port number改为其他端口即可

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » MyEclipse怎么都连接不上数据库,(ODBC驱动程序管理)无效的字符串或缓冲区长度

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情