[Microsoft][SQLServer 2000 Driver for JDBC]End of stream was detected on a read

ZXS824 2015-10-21 01:32:22
package com.jdbc.util;
import javax.xml.crypto.Data;
import java.io.*
import java.sql.*;


public class DBUtil {

/**
* 获取数据库连接的对象
* @return 目标对象
*/
public static Connection getConn()
{
Connection conn = null;
try {
File file = new File("file.txt");
FileReader is = new FileReader(file);

BufferedReader br = new BufferedReader(is);
int len = 1024;
char[] cbuf = new char[len];
int line = 0;
StringBuffer buffer = new StringBuffer();
while((line = br.read(cbuf, 0, len))!=-1){
buffer.append(cbuf);
}

String data[] = buffer.toString().split(",");
System.out.println(data[0]);
System.out.println(data[1]);
System.out.println(data[2]);
System.out.println(data[3]);
System.out.println("jdbc:microsoft:sqlserver://localhost:1433;databaseName=spdb1:sa:123321");
Class.forName(data[0]);
conn = DriverManager.getConnection(data[1],data[2],data[3]);
} catch (ClassNotFoundException e) {

e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return conn;
}


/**
* 关闭数据库
* @param rs
* @param stmt
* @param conn
*/
public static void closeDB(ResultSet rs, Statement stmt, Connection conn)
{
try {
if (rs!=null) {
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if (stmt!=null) {
stmt.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}finally {
try {
if (conn!=null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}

package com.jdbc.test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.jdbc.util.DBUtil;

public class Test {


public static void main(String[] aaa)
{
PreparedStatement ps = null;
Connection conn = DBUtil.getConn();
ResultSet rs = null;
String sql = "select * from emp";
try {
ps = conn.prepareStatement(sql);
rs= ps.executeQuery();
while(rs.next())
{
System.out.println(rs.getString("empno")+"\t"+rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtil.closeDB(rs, ps, conn);
}

}

}


控制台显示的异常:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]End of stream was detected on a read.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.jdbc.util.DBUtil.getConn(DBUtil.java:41)
at com.jdbc.test.Test.main(Test.java:16)
Exception in thread "main" java.lang.NullPointerException
at com.jdbc.test.Test.main(Test.java:20)
...全文
177 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
已经博主授权,源码转载自 https://pan.quark.cn/s/a50517ff69e2 ### Path Ranking 算法解析 #### 知识图谱推理基础 在对Path Ranking算法进行深入分析之前,有必要简要回顾知识图谱的基本概念及其重要性。 **知识表示**是指将现实世界中的各类知识转化成计算机能够存储和计算的形式。这种转化通常涉及将自然语言或非结构化数据转化为结构化数据,以便于计算机进行处理和分析。 **知识图谱**是以结构化的形式描述客观世界中概念、实体及其相互关系的模型。通过构建知识图谱,可以更清晰地理解数据之间的联系,这对于搜索引擎优化、智能问答系统等应用领域具有重要作用。例如,谷歌自2012年起就在其搜索结果中广泛采用了知识图谱技术,显著改善了用户的搜索体验。目前,知名的开放知识图谱包括Freebase、Yago、DBpedia和NELL等。 然而,知识图谱也面临着一些挑战,其中最为突出的是**不完备性**(关系缺失、属性缺失)和**错误关系**的存在。为了应对这些问题,**知识图谱推理**应运而生,即从已有的知识图谱中推导出新的实体间关系,这一过程也被称为**知识图谱补全**。 #### 知识图谱补全策略 知识图谱补全主要分为两大类:基于表示学习的方法和基于图特征的方法。 1. **基于表示学习的方法**:这类方法将知识图谱中的实体与关系映射到一个低维的连续向量空间中,以便于捕捉实体间的潜在语义特征。典型的模型有TransE等。这种方法的优势在于能够高效处理大规模数据,并且在许多情况下取得了良好的效果。 2. **基于图特征的方法**:这类方法利用从知识图谱中提取的图特征来进行预测。具体来说,就是通过观察实体间的路径特征来预测实体间的关...

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧