想做一个基于C/S结构的数据库应用系统,如何实现访问Server数据源?只知道B/S结构的实现方法,但是如果用C/S实现,还不用socket,应该用什么方法访问server的数据库?

解决方案 »

  1.   

    我们定义的数据库的地址就是URL啊要用什么socket
      

  2.   

    还是用jdbc访问嘛,我就做过c/s模式的java应用程序。如楼上说的,jdbc里面还是传人url即可。不过访问数据库的连接池,需要自己实现噢,或用第3方包,自己实现原理:
    DBPool{
      Vector connList = ...;  //Conn集合
      Connection getConn(){ 
         //从list中取一个可用的Connection
         return conn;
      }
      
      CreatePool(){
        //预先创建一定数量的Connection;
        Class.forName("jdbc驱动类");    for( i < PreDefine_Num){
            conn = DriverManager.getConnection(url,userName,password);
            connList.add(conn);  
        }
      }
      
      ....
    }
      

  3.   

    conn=DriverManager.getConnection(URL,"","")中,URL可以是"jdbc:odbc:MyDB",这个不是只是指出了数据源吗?在哪里写IP地址呢?
      

  4.   

    conn=DriverManager.getConnection(URL,"","")中,URL可以是"jdbc:odbc:MyDB",这个不是只是指出了数据源吗?在哪里写IP地址呢?
    你用odbc当然不用写IP了啊,指定了数据源MyDB(就像tomcat的数据源一样),然后直接访问数据源MyDB就可以了,什么IP应该是在MyDB里面配置的啊。我说的是url是jdbc的url:,不是jdbc-odbc桥,为什么用odbc呢,? 不敢用jdbc吗,有free的jdbc驱动jtds:
    net.sourceforge.jtds.jdbc.Driver
    url="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=UupoData
      

  5.   

    String url="jdbc:microsoft:sqlserver://192.168.0.23:1433;DatabaseName=pubs";
    String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; try{  // load driver
          Class.forName(driver);
          System.out.println("Driver successfully loaded.");
        } catch(Exception e){
                System.out.println("driver load failed.");
        }
        try{  
          Connection con = DriverManager.getConnection(url,"sa","cx");
          System.out.println("Database successfully connected.");
        }catch(Exception e){
          System.out.println("connect failed.");
        }