MyEclipse怎么都连接不上数据库,(ODBC驱动程序管理)无效的字符串或缓冲区长度
你试试下面的办法,应该可以解决问题的。
一、配置数据库连接
本教程使用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改为其他端口即可
0条评论