易截截图软件、单文件、免安装、纯绿色、仅160KB

JDBC调用Sql server 2005 存储过程出现的问题

环境:JDK1.5
数据库:Sql server 2005 +sp2
JDBC驱动:sqljdbc.jar
测试类代码如下:
import java.sql.*;
public class test {
 /**
  * @param args
  * @throws SQLException
  * @throws ClassNotFoundException
  */
 public static void main(String[] args) throws SQLException, ClassNotFoundException {
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  Connection con = DriverManager.getConnection("jdbc:sqlserver://192.168.1.168:1433;SelectMethod=cursor;DatabaseName=DBName", "sa", "sa");
  
  //PreparedStatement ps = con.prepareCall("exec Proc_checkPDDateTime '00','00'");  --使用PreparedStatement也可以
  CallableStatement ps = con.prepareCall("{call dbo.Proc_checkPDDateTime('1602327','20100526162514')}");
  
  //{第一种方式}  两种方式调用存储过程的返回值都可以
//  ResultSet rs= ps.executeQuery();
//  if(rs.next()){
//   System.out.println("--"+rs.getString(1)+"--");
//  }
  
  //{第二种方式}
  if(ps.execute()){  --如果ps执行后返回的是ResultSet,那么ps.execute返回True ,且必须要通过ps.getResultSet()方法获得结果集
   if(ps.getResultSet().next()){
    System.out.println("--"+ps.getResultSet().getString(1)+"--");
   }
  }
 }
}
运行时,提示如下错误:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: 无法在给定的语句中打开服务器游标。请使用默认结果集或客户端游标。
 at com.microsoft.sqlserver.jdbc.SQLServerException.makefromDatabaseError(Unknown Source)
 at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecute(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerPrepa


相关文档:

SQL SERVER 2008 压缩备份

/*
    SQL SERVER 2008 压缩备份
 
 
 
    SQL SERVER 2008 在企业版和开发版中引入了备份压缩.使用者个功能可以更快速的备份数据库并且
    消耗更少的磁盘空间.压缩量依赖于数据库中存储的数据.例如,含有重复值字符数据的数据库可以有
   ......

Oracle如何执行批量sql语句

要创建两个文件
1: runBatch.bat
2: sql.txt
runBatch.bat 内容如下:
sqlplus username/password @sql.txt
pause
sql.txt内容如下:
spool sql.log
create table t1(cname char(20));
insert into t1(cname) values('test');
select * from t1;
spool off
exit
双击runBatch.bat就可以批量执行sql.txt中 ......

从SQL数据库里随机读取一条记录



怎样从数据库里随机读取
一条记录,
SELECT TOP 1 * from dbo.Customers ORDER BY  NEWID()
这样,如果是随机10
条,100条。。。。
SELECT TOP 10 * from dbo.Customers ORDER BY  NEWID()
很简单吧。
不过top后面数字越大,运行速度越慢。不推荐数据字太大。
以后代码在SQL2000 ......

orale sql相关学习

to_date和to_char是oracle里里面的内置函数而不是标准的sql语法中的函数,用法举例:
1.to_char,返回结果可显示为各种形式
 select to_char(sysdate,'yyyy/mm/dd') ,sysdate from dual;
结果:  2010/05/26               &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号