import com.sybase.jdbc3.jdbc.SybDriver; 
import java.sql.*; 
import java.io.*; 
import java.util.*;
public class ConnTest{
 public static void main(String[] args){
  try{
  Class.forName("com.sybase.jdbc3.jdbc.SybDriver").newInstance(); 
  String url ="jdbc:sybase:Tds:127.0.0.1:5000/data_xj";
  Properties sysProps = System.getProperties(); 
  sysProps.put("user","sa"); 
  sysProps.put("password",""); 
  Connection conn= DriverManager.getConnection(url, sysProps); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql="select * from bz_pjb";  
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) {
     System.out.println (rs.getString(8));//本字段的数据类型是text

    }
  }catch(Exception e)
  {
    e.getMessage();
  }
 }
}
用上面的类读取Sybase数据库的字段(类型是text)读出的结果全是“?”,应该怎样解决

解决方案 »

  1.   

    Sybase资料很难找,特建了群来交流。欢迎大家捧场
    QQ群:11547380
      

  2.   

    System.out.println((new String(rs.getString(8).getBytes("ISO-8859-1"),"GBK")).trim());看这样行不
      

  3.   

    在创建数据库访问连接(conn)时带上字符集参数
    "jdbc:sybase:Tds:192.168.130.88:5000/risenet?charset=cp936&jconnect_version=5","risenet","12345678"
    应该是这个问题,你可以试试。
      

  4.   

    应该是字符集的问题,mysql也有这个问题。