‘壹’ sql SERVER 2008 try catch 语句中的commit
begin catch ... end catch 里的内容,只有在 begin try ... end try 里的内容执行有错误才会触发到,所以, commit tran 执行成功的话,是不会执行到 rollback tran 的
‘贰’ sqlserver2008 在函数中如何捕获异常
begin try
begin transaction
select 100/0 ---0 不能为除数
commit transaction
print 'transaction committed'
end try
begin catch
rollback
print 'transaction rolled back'
select ERROR_NUMBER() as ErrorNumeber,
ERROR_SEVERITY() as ErrorSeverity,
ERROR_STATE() as ErrorState,
ERROR_MESSAGE() as ErrorMessage;
end catch
go
‘叁’ VS2010连接SQL2008出现“用户 'sa' 登录失败”错误,使用windows身份验证连接成功,跪求大神正解!
1、一种情况是在安装过程中选择“混合模式”,但是实际应用中sa的密码忘记了或是sa密码丢失时:
a、在SQL Server Management Studio 用Window连接的情况下改实列的“属性”中“安全性”选中WINDOWS及SQL验证,再重起SQL服务器后,新建查询,执行下面代码
ALTER LOGIN sa WITH PASSWORD='新密码'
b、在SQL Server Management Studio 用Window连接的情况下改实列的“属性”中“安全性”选中WINDOWS及SQL验证,在SQL服务器上点击安全性,即找到根节点->安全性->登录名->sa. 右键sa打开属性对话框。
1、在“常规”页中设置sa用户的密码,注意密码不能太简单,如密码是sa肯定是通过不了的。
2、在“用户映射”页中,确认一下SA用户有没有db_owner角色身份。必须要有,要不然sa登录后什么高级功能也做不了了。
3、在“状态”页中,把“是否允许连接到数据库引擎”设置为“授予”,把“登录”设置为“启用”。
4、点击确定保存配置。
2、一种情况是在安装过程中选择“Windows 身份验证模式”,则 sa 登录将被禁用:
在SQL Server Management Studio 用Window连接的情况下将身份验证模式更改为“SQL Server 和 Windows 身份验证模式”,则 sa 登录仍处于禁用状态。若要启用 sa 登录帐户,请使用 ALTER LOGIN 语句(如上a)。
‘肆’ sqlserver2008的jdbc怎么写
import java.sql.*;
public class A {
/**
* sql server 数据库连接
*/
public static void main(String[] args) {
Connection con;
try {//加载数据库驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("加载数据库驱动成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
String connectionUrl = "jdbc:sqlserver://192.168.5.38;database=test;user=sa;password=sa;";
try {//通过URL连接获取数据库对象
con= DriverManager.getConnection(connectionUrl);
System.out.println("获取数据库对象成功");
Statement stmt = con.createStatement();
String sql="create table test5 (info varchar(200),id int);";
stmt.execute(sql);
//stmt.executeQuery(sql);
for(int i=1;i<11;i++){
sql="insert into test5 values ('你好,通过程序插入第"+i+"行',"+i+");";
stmt.execute(sql);
}
sql="select * from test5;";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
String info=rs.getString("info");
String id=rs.getString(2);
System.out.println("获取到info列内容:"+info);
System.out.println("获取第二列的内容:"+id);
}
sql="drop table test5;";
stmt.execute(sql);
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
seq 2008的数据库连接语句,和sql server2000比较主要是:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://192.168.5.38;database=test;user=sa;password=sa;";可能有所不同