添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
傻傻的警车  ·  monaco-editor 错误检查 - ...·  2 月前    · 
坐怀不乱的山羊  ·  FreePBX 13 NO GUI Web ...·  2 月前    · 
虚心的梨子  ·  黄艳(特级教师)·  3 月前    · 
无邪的灯泡  ·  Nlinfit: Warning: ...·  4 月前    · 
一次仅能有一个与 DB2 Everyplace 数据库的连接。在 Palm 之外的所有平台上,DB2 Everyplace 支持连接串行化。使用连接串行化,可以将数据源的连接请求串行起来。 每次只可以建立一个与给定数据源的活动连接。将其它连接请求放入到队列中。可以使用 SQLSetConnectAttr() 函数 SQL_ATTR_LOGIN_TIMEOUT 属性设置超时时间。典型的串行化方案包括:

  • 串行化尝试打开与单个数据源的连接的多个进程;每次仅可对一个进程打开一个给定的数据源。
  • 串行化尝试打开与单个数据源的连接的单个进程内的多个线程。
  • 多个不同进程每个都可以同时对多个不同数据源打开一个连接。

    例如,以下 CLI /JDBC 调用将把连接超时时间设置为 10。 即,如果存在与同一数据库的另一个连接,则应用程序将接收到错误。

    对于 CLI:

     int i = 10; // 10 seconds timeout
    rc = SQLSetConnectAttr(hdbc, SQL_ATTR_LOGIN_TIMEOUT, (SQLPOINTER) i, 0); 
    

    对于 JDBC:

    int waitTime = 10; 
    String url = "jdbc:db2e:mysample"; 
    
    Properties prop = new Properties(); 
    prop.setProperty("LOGIN_TIMEOUT", Integer.toString(waitTime)); 
    
    Connection con = driver.connect(url,prop); 
    

  • 缺省超时时间是 0 秒。

  • 多线程应用程序可以使用一个线程连接到数据库,而使用另一线程与数据库断开连接。

  • 当应用程序成功地连接到数据库时,将创建名为“DSYLOCK”的文件。 如果应用程序进程异常终止,将自动除去文件 DSYLOCK。

  • 限制:连接串行化可能对驻留在网络驱动器上的数据库不起作用。

  • 在 JDBC 程序中,如果以属性的形式将超时值传送到 DriverManager.getConnection() 方法,将忽略超时值并将它设置为零。