黑马程序员技术交流社区
标题:
程序连不上数据库
[打印本页]
作者:
何建华
时间:
2011-11-22 11:11
标题:
程序连不上数据库
本帖最后由 何建华 于 2011-11-22 14:27 编辑
程序出现连不上SQLServer 数据库服务器,应该怎样排除这个故障?有哪些方法呢?
作者:
付炯
时间:
2011-11-22 11:15
连不上数据库可能有很多原因 最好能具体说明一下
从数据库本身和数据库连接等方面进行考虑吧
作者:
宋天琪
时间:
2011-11-22 11:27
是不是代码写错了,有一段神奇的代码:
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"bin\Debug\") || dataDir.EndsWith(@"bin\Release"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory",dataDir);
}
你加了吗?
作者:
王绚文
时间:
2011-11-22 11:34
连不上数据库有很多种原因 但是大体上来说你可以在这两个方面找原因
1. 你的数据库服务器有故障 比如服务没启动 或者你没开启tcp ip
2. 你的程序有问题,比如连接字符串错误 等等。
。。。。
作者:
zhou_411424
时间:
2011-11-22 12:25
1.用JDBC-ODBC桥接法连接数据库
这种情况下是不需要驱动程序的,但是需要创建JDBC-ODBC数据源
将数据库附加到sql server数据库服务器之后,需要配置数据源
用代码建立连接的方式:
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:数据源名称","用户名","密码");
}catch(Exception e){
...
}
2.用JDBC连接数据库
这种情况是需要驱动包,但是不需要创建数据源:
(1).如果你用的是sql server2000,还需要打上补丁包chs_sql2ksp3.exe,打上之后进行测试看是否成功,具体方法自己到网上搜索吧
在连接数据库前,需要在你的项目中加入3个驱动包(到网上下载)
用代码建立连接的方式:
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String uri= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=项目中创建的数据库名字";
con=DriverManager.getConnection(uri,"数据库用户名","密码");
}catch(Exception e){
...
}
(2).如果你用的是sql server 2005,也需要打上相应的补丁包,其他操作和sql server 2000的操作差不多
通过这几种方式,检查你的连接数据库的代码是否有误,进行修正,可以试一试。
作者:
许前刚
时间:
2011-11-22 13:24
可能是数据库服务器没运行,也可能是你的数据库版本和VS的版本问题,需要打补丁,也可能是程序代码问题,比如数据库链接字符串没写对,总之原因很多。。。。。。
作者:
毕山山
时间:
2011-11-22 13:34
连不上会有报错的吧,看你那地方错了, 一般有数据库服务器没打开, 连接字符串写错了,忘了写open()方法等等...这要看你的具体情况了,根据具体情况排除.
作者:
张彪
时间:
2011-11-28 15:12
在ADO.NET中数据库的链接代码:Source=.\SQLEXPRESS;AttachDBEilename=丨DateDirectory丨\Database1.mdf;Integrated Security=True;User Instance=True;。其中".\SQLEXPRESS"表示本机的SQLEXPRESS实例。
如果代码正确那么就是你的数据库服务出现了错误
作者:
王伟
时间:
2011-11-28 15:19
请你考率一下几个问题
1.sql服务器身份验证方式未开启
我们在进入management studio 的时候有两种身份验证,一种是windows验证,一种是sqlserver验证,在写sqlconnection连接字符串的时候,如果写的是sqlserver验证方式,注意把服务器属性中的安全性中的服务器身份验证改为“sqlserver和windows验证”。
2sa用户未设置为启用状态
有些人喜欢用默认的sa账户登录。在安全性中的登录名中找到sa,右键属性,状态栏中,设置启用sa。
3tcp/ip协议没启用
打开sqlserver配置管理器,在sqlexpress协议或mssqlserver协议中把tcp/ip状态改为启用。
注意:sqlexpress是装vs是带的免费版sql服务器,mssqlserver是装sqlserver2005或08的服务器,用哪个就要打开哪个。
4tcp/ip端口号改变
右键tcp/ip,属性,在ip地址栏中把端口号改为1433.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2