上传是可以的,已经能做到,就是连接数据库不行
这行odbcConn=DriverManager.getConnection(connectionUrl,"","");报错

解决方案 »

  1.   

    兄弟,"jdbc:odbc:DRIVER={Microsoft dBase Driver (*.dbf)};dbq=f:\\a1.dbf"这种写法首先不知道你采用的是哪个数据库,如果没有本地连接没有错误的话!说明你的服务器的a1.dbf的路径发生了问题!
      

  2.   

    我的意思先用jdbc:odbc:DRIVER={Microsoft dBase Driver (*.dbf)};dbq=f:\\a1.dbf测试一下本地连接,一般采用odbc的方法是不被采用的,但是microsoft的产品可以另论!
    如果本地行的通,那么就要注意服务器的dbf文件的路径问题,可能的话改为相对路径!给你个:
    String appDir = servletConfig.getServletContext().getRealPath("/");//得到根目录
    String filePath= appDir+File.separator+"a1.dbf";
    ,"jdbc:odbc:DRIVER={Microsoft dBase Driver (*.dbf)};dbq="+filePath;
      

  3.   

    拜托说明白一下,我的服务器上还需要安装其他数据库吗?我现在采用的是sqlserver数据库。
    但,我做这段程序的目的就是从客户端上传一个dbf文件,然后再服务器端通过代码解析,得到它的数据库名、字段。
    拜托了,我在这郁闷的不行了
      

  4.   

    dbf是foxpro吧!问一下:
    1、你用
    jdbc:odbc:DRIVER={Microsoft dBase Driver (*.dbf)};dbq=f:\\a1.dbf在本地连接成功过吗?
    需要配置数据源吗?
    2、
    再服务器端通过代码解析,得到它的数据库名、字段。
    是不是上传“a1.dbf”,然后连接a1.dbf来取得数据!
      

  5.   

    弱弱的问一下,我如何在本地测试是否通过?我已经在odbc数据源里创建了一个系统dns,名字为mydbf。但不知道怎么测试。麻烦你说一下。
    另外,我现在是在javabean 中。你给的
    String appDir = servletConfig.getServletContext().getRealPath("/");//得到根目录
    String filePath= appDir+File.separator+"a1.dbf";
    语句在这里不能用呀。
      

  6.   

    1,我开始没有配置数据源,我认为不需要。
    2,是的。先上传;然后再连接上传的dbf文件;再解析
    我现在上传已经可以。为了测试,我暂时没有用上传的文件,而是调用了服务器上d:\a1.dbf固定的文件作测试。
      

  7.   

    不好意思,我知道了!
    你用的是mssqlserver,
    sqlserver 必须配置数据源,所以在服务器上使用 强烈建议使用jdbc的连接方式!
    因为可移植性太差!你不可能在服务器上配置数据源吧?jdbc的连接方式:
    import java.sql.*;public class DateBaseConnection
    {
    public static Connection getSqlConnection()
    {
    Connection conn = null;
    try
    {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=rencai","sa","");
    }
    catch(Exception e)
    {
    System.out.println("数据库连接的异常:"+e);
    }
    return conn;
    }}
      

  8.   

    非常感谢你的回答!
    还有问题,我的服务器上必须安装foxpro吗?我现在服务器上没有
      

  9.   

    你可能还是没有理解明白,虽然我的项目采用的是sqlserver,但我现在需要解析的是上传的dbf文件,之后,再放到sqlserver中。
    我认为,解析dbf文件,需要的是dbf驱动吧!
    是这样吧
      

  10.   

    我已经搞不明白了,你用的是mssql server服务器,怎么又搞上了foxpro了,a1.dbf是不是mssqlserver的数据文件,应该不是日志文件,你告诉我a1.dbf作甚么用?
      

  11.   

    a1.dbf是从客户端上传上来的。
    现在是有些用户需要把一些.dbf(foxpro)数据文件,在客户端上传到服务器上,服务器解析,读取数据,然后再把数据文件中的数据写到sqlserver相应的表中。明白了吗?!
      

  12.   

    我现在的需求明白了吧!
    这种情况下,我需要在服务器端安装foxpro吗?
      

  13.   

    跟我想到一致了!现在的问题:我感觉还是文件路径的问题!刚才说道的几个问题:
    1、另外,我现在是在javabean 中。你给的
    String appDir = servletConfig.getServletContext().getRealPath("/");//得到根目录
    String filePath= appDir+File.separator+"a1.dbf";
    语句在这里不能用呀。你的bean不要写死, bean里加个private String  pathName变量,然后get set方法,然后
    String filePath= pathName+"a1.dbf";之类的就行!然后在jsp或者servlet里去路径就可以!
    2、如果还有其他的问题:
    我说的是测试方法,你现在的问题不是mssqlserver里,现在不用考虑。我感觉以后mssqlserver的连接恐怕也要出问题!
    像forpro我没有用过,你可以你的电脑上测试一下!
    现在你写的就是无数据源的odbc,如果在你的电脑连接成功就可以搞定了!
    3、希望你知道你的上传路径,然后写在String filePath= pathName+"a1.dbf";里。
    不然还是一样的异常!
      

  14.   

    我需要在服务器端安装foxpro吗?不需要!
      

  15.   

    1。路径就是如你所说,从jsp获得,也不行。
    即便我把这个文件放到当前网页所在目录下,都不行。
    2。我上传的路径是固定的一个目录,不行,还是不行。
    我要晕死了。没见过这么奇怪的问题
      

  16.   

    2、如果还有其他的问题:
    我说的是测试方法,像forpro我没有用过,你可以你的电脑上测试一下!
    现在你写的就是无数据源的odbc,如果在你的电脑连接成功就可以搞定了!
    你在本机测试通过了?