java程序,远程访问数据库,怎么实现,大家帮帮忙!

解决方案 »

  1.   

    jdbc
    datasource
    hibernate
    jpa
      

  2.   

    Connection con = DriverManager.getConnection("jdbc:sybase:Tds:222.47.5.100:5000/call","sa","");
    可提示连不上 真郁闷
      

  3.   


    222.47.5.100:5000/call 的sa用户用权限吗??有的话可以的
      

  4.   

    Class.forName("com.sybase.jdbc.SybDriver").newInstance();
    String url =" jdbc:sybase:Tds:localhost:5007/myDB";
    //myDB为你的数据库名
    Properties sysProps = System.getProperties();
    SysProps.put("user","userid");
    SysProps.put("password","user_password");
    Connection conn= DriverManager.getConnection(url, SysProps);
    格式貌似没错
    首先用sybase官方软件登录保证成功吧 这里可能牵涉到一些问题 比如端口开放 权限认证等等
    之后再用程序试着登录
      

  5.   


    <beans>
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"    destroy-method="close">
    <!--数据库连接驱动 -->
              <property name="driverClass"><value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></property>
    <!--          数据库连接地址 -->
              <property name="jdbcUrl"><value>jdbc:microsoft:sqlserver://192.164.1.114:1433;databaseName=db_name</value></property>     
    <!--       数据库连接用户名             -->
              <property name="user"><value>sa</value></property>
    <!--      数据库连接密码    -->
              <property name="password"><value>sa</value></property>
    <!--     连接池中保留的最小连接数     -->
              <property name="minPoolSize"><value>20</value></property>
    <!--    连接池中保留的最大连接数。默认为15      -->
              <property name="maxPoolSize"><value>500</value></property>
    <!--          最大空闲时间,超过空闲时间的连接将被丢弃。为0或负数则永不丢弃。默认为0-->
              <property name="maxIdleTime"><value>180</value></property>
    <!--          当连接池中的连接用完时,C3P0一次性创建新连接的数目-->
              <property name="acquireIncrement"><value>10</value></property>
    <!--          JDBC的标准参数,用以控制数据源内加载的PreparedStatement数量。但由于预缓存的Statement属 于单个Connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素,如果maxStatements与 maxStatementsPerConnection均为0,则缓存被关闭。默认为0-->
              <property name="maxStatements"><value>0</value></property>
    <!--          初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值。默认为3-->
              <property name="initialPoolSize"><value>30</value></property>
    <!--          隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查-->
              <property name="idleConnectionTestPeriod"><value>1800</value></property>
    <!--          定义在从数据库获取新连接失败后重复尝试获取的次数,默认为30-->
              <property name="acquireRetryAttempts"><value>10</value></property>
    <!--          两次连接中间隔时间,单位毫秒,默认为1000-->
              <property name="acquireRetryDelay"><value>1000</value></property>
    <!--获取连接失败将会引起所有等待获取连接的线程抛出异常。但是数据源仍有效保留,并在下次调   用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试获取连接失败后该数据源将申明已断开并永久关闭。默认为 false; -->
              <property name="breakAfterAcquireFailure"><value>true</value></property>
    <!--          因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都 将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 等方法来提升连接测试的性能。默认为false; -->
              <property name="testConnectionOnCheckout"><value>false</value></property>   
    </bean>
    </beans>像这样就OK啦