亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? driver.java

?? jtds的源碼 是你學習java的好東西
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// jTDS JDBC Driver for Microsoft SQL Server and Sybase
// Copyright (C) 2004 The jTDS Project
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
package net.sourceforge.jtds.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.DriverPropertyInfo;
import java.sql.SQLException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;

import net.sourceforge.jtds.ssl.Ssl;

/**
 * jTDS implementation of the java.sql.Driver interface.
 * <p>
 * Implementation note:
 * <ol>
 * <li>Property text names and descriptions are loaded from an external file resource.
 *     This allows the actual names and descriptions to be changed or localised without
 *     impacting this code.
 * <li>The way in which the URL is parsed and converted to properties is rather
 *     different from the original jTDS Driver class.
 *     See parseURL and Connection.unpackProperties methods for more detail.
 * </ol>
 * @see java.sql.Driver
 * @author Brian Heineman
 * @author Mike Hutchinson
 * @author Alin Sinpalean
 * @version $Id: Driver.java,v 1.70 2007/08/02 22:35:27 bheineman Exp $
 */
public class Driver implements java.sql.Driver {
    /** URL prefix used by the driver (i.e <code>jdbc:jtds:</code>). */
    private static String driverPrefix = "jdbc:jtds:";
    /** Driver major version. */
    static final int MAJOR_VERSION = 1;
    /** Driver minor version. */
    static final int MINOR_VERSION = 2;
    /** Driver version miscellanea (e.g "-rc2", ".1" or <code>null</code>). */
    static final String MISC_VERSION = ".2";
    /** Set if the JDBC specification to implement is 3.0 or greater. */
    public static final boolean JDBC3 =
            "1.4".compareTo(System.getProperty("java.specification.version")) <= 0;
    /** TDS 4.2 protocol (SQL Server 6.5 and later and Sybase 9 and later). */
    public static final int TDS42 = 1;
    /** TDS 5.0 protocol (Sybase 10 and later). */
    public static final int TDS50 = 2;
    /** TDS 7.0 protocol (SQL Server 7.0 and later). */
    public static final int TDS70 = 3;
    /** TDS 8.0 protocol (SQL Server 2000 and later)*/
    public static final int TDS80 = 4;
    /** TDS 8.1 protocol (SQL Server 2000 SP1 and later). */
    public static final int TDS81 = 5;
    /** Microsoft SQL Server. */
    public static final int SQLSERVER = 1;
    /** Sybase ASE. */
    public static final int SYBASE = 2;

    //
    // Property name keys
    //
    public static final String APPNAME       = "prop.appname";
    public static final String BATCHSIZE     = "prop.batchsize";
    public static final String BINDADDRESS   = "prop.bindaddress";
    public static final String BUFFERDIR     = "prop.bufferdir";
    public static final String BUFFERMAXMEMORY = "prop.buffermaxmemory";
    public static final String BUFFERMINPACKETS = "prop.bufferminpackets";
    public static final String CACHEMETA     = "prop.cachemetadata";
    public static final String CHARSET       = "prop.charset";
    public static final String DATABASENAME  = "prop.databasename";
    public static final String DOMAIN        = "prop.domain";
    public static final String INSTANCE      = "prop.instance";
    public static final String LANGUAGE      = "prop.language";
    public static final String LASTUPDATECOUNT = "prop.lastupdatecount";
    public static final String LOBBUFFER     = "prop.lobbuffer";
    public static final String LOGFILE       = "prop.logfile";
    public static final String LOGINTIMEOUT  = "prop.logintimeout";
    public static final String MACADDRESS    = "prop.macaddress";
    public static final String MAXSTATEMENTS = "prop.maxstatements";
    public static final String NAMEDPIPE     = "prop.namedpipe";
    public static final String PACKETSIZE    = "prop.packetsize";
    public static final String PASSWORD      = "prop.password";
    public static final String PORTNUMBER    = "prop.portnumber";
    public static final String PREPARESQL    = "prop.preparesql";
    public static final String PROGNAME      = "prop.progname";
    public static final String SERVERNAME    = "prop.servername";
    public static final String SERVERTYPE    = "prop.servertype";
    public static final String SOTIMEOUT     = "prop.sotimeout";
    public static final String SSL           = "prop.ssl";
    public static final String TCPNODELAY    = "prop.tcpnodelay";
    public static final String TDS           = "prop.tds";
    public static final String USECURSORS    = "prop.usecursors";
    public static final String USEJCIFS      = "prop.usejcifs";
    public static final String USENTLMV2     = "prop.usentlmv2";
    public static final String USELOBS       = "prop.uselobs";
    public static final String USER          = "prop.user";
    public static final String SENDSTRINGPARAMETERSASUNICODE = "prop.useunicode";
    public static final String WSID          = "prop.wsid";
    public static final String XAEMULATION   = "prop.xaemulation";

    static {
        try {
            // Register this with the DriverManager
            DriverManager.registerDriver(new Driver());
        } catch (SQLException e) {
        }
    }

    public int getMajorVersion() {
        return MAJOR_VERSION;
    }

    public int getMinorVersion() {
        return MINOR_VERSION;
    }

    /**
     * Returns the driver version.
     * <p>
     * Per [908906] 0.7: Static Version information, please.
     *
     * @return the driver version
     */
    public static final String getVersion() {
        return MAJOR_VERSION + "." + MINOR_VERSION
                + ((MISC_VERSION == null) ? "" : MISC_VERSION);
    }

    /**
     * Returns the string form of the object.
     * <p>
     * Per [887120] DriverVersion.getDriverVersion(); this will return a short
     * version name.
     * <p>
     * Added back to driver per [1006449] 0.9rc1: Driver version broken
     *
     * @return the driver version
     */
    public String toString() {
        return "jTDS " + getVersion();
    }

    public boolean jdbcCompliant() {
        return false;
    }

    public boolean acceptsURL(String url) throws SQLException {
        if (url == null) {
            return false;
        }

        return url.toLowerCase().startsWith(driverPrefix);
    }

    public Connection connect(String url, Properties info)
        throws SQLException  {
        if (url == null || !url.toLowerCase().startsWith(driverPrefix)) {
            return null;
        }

        Properties props = setupConnectProperties(url, info);

        if (JDBC3) {
            return new ConnectionJDBC3(url, props);
        }

        return new ConnectionJDBC2(url, props);
    }

    public DriverPropertyInfo[] getPropertyInfo(final String url, final Properties props)
            throws SQLException {

        Properties parsedProps = parseURL(url, (props == null ? new Properties() : props));

        if (parsedProps == null) {
            throw new SQLException(
                        Messages.get("error.driver.badurl", url), "08001");
        }

        parsedProps = DefaultProperties.addDefaultProperties(parsedProps);

        final Map propertyMap = new HashMap();
        final Map descriptionMap = new HashMap();
        Messages.loadDriverProperties(propertyMap, descriptionMap);

        final Map choicesMap = createChoicesMap();
        final Map requiredTrueMap = createRequiredTrueMap();

        final DriverPropertyInfo[] dpi = new DriverPropertyInfo[propertyMap.size()];
        final Iterator iterator = propertyMap.entrySet().iterator();
        for (int i = 0; iterator.hasNext(); i++) {

            final Map.Entry entry = (Map.Entry) iterator.next();
            final String key = (String) entry.getKey();
            final String name = (String) entry.getValue();

            final DriverPropertyInfo info = new DriverPropertyInfo(name, parsedProps.getProperty(name));
            info.description = (String) descriptionMap.get(key);
            info.required = requiredTrueMap.containsKey(name);

            if (choicesMap.containsKey(name)) {
                info.choices = (String[]) choicesMap.get(name);
            }

            dpi[i] = info;
        }

        return dpi;
    }

    /**
     * Sets up properties for the {@link #connect(String, java.util.Properties)} method.
     *
     * @param url the URL of the database to which to connect
     * @param info a list of arbitrary string tag/value pairs as

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品网| 日韩一级大片在线观看| 热久久一区二区| 国产精品护士白丝一区av| 在线成人av影院| 色噜噜狠狠色综合中国| 国产精品综合一区二区| 蜜桃视频在线一区| 亚洲图片有声小说| 国产精品久久久久久久午夜片| 欧美一区二区视频在线观看| 99久久精品国产一区| 国产成人一级电影| 久久www免费人成看片高清| 视频一区二区中文字幕| 亚洲综合色区另类av| 国产精品理论片| 亚洲国产精品国自产拍av| 日韩精品中午字幕| 日韩三级免费观看| 在线综合视频播放| 精品1区2区3区| 欧美视频完全免费看| 91视频xxxx| 一本色道亚洲精品aⅴ| 成人91在线观看| 成人午夜av影视| 粉嫩蜜臀av国产精品网站| 国内精品写真在线观看| 精品亚洲国内自在自线福利| 五月天丁香久久| 婷婷开心久久网| 婷婷成人激情在线网| 亚洲国产精品自拍| 亚洲午夜国产一区99re久久| 亚洲一区二区三区影院| 亚洲黄网站在线观看| 一区二区三区色| 一区二区欧美国产| 午夜精品成人在线| 97久久精品人人澡人人爽| 91一区一区三区| 在线视频欧美精品| 欧美日韩一区小说| 欧美二区在线观看| 欧美一级日韩不卡播放免费| 91精品国产丝袜白色高跟鞋| 日韩欧美在线1卡| 久久影院午夜片一区| 国产婷婷一区二区| 亚洲色欲色欲www在线观看| 一区二区三区 在线观看视频| 亚洲午夜日本在线观看| 青青草97国产精品免费观看 | 国产精品久久久久久久第一福利| 国产精品天美传媒沈樵| 一区二区视频免费在线观看| 午夜天堂影视香蕉久久| 麻豆国产精品官网| 国产成人免费在线观看不卡| 97se亚洲国产综合自在线| 欧美午夜电影一区| 欧美一区二区视频观看视频| 久久久精品人体av艺术| 国产精品三级在线观看| 亚洲一二三四在线| 精品亚洲国内自在自线福利| av一二三不卡影片| 欧美精品一二三区| 欧美激情一区二区三区四区| 亚洲欧美欧美一区二区三区| 日韩国产精品久久| 成人国产精品免费观看动漫| 欧美午夜影院一区| 久久综合久久99| 一区二区三区成人| 国产自产v一区二区三区c| 99re这里只有精品视频首页| 欧美精品精品一区| 欧美激情一区二区三区| 亚洲成人免费视频| 国产盗摄视频一区二区三区| 欧美三级视频在线| 国产区在线观看成人精品 | 亚洲成人av在线电影| 国产精品一线二线三线精华| 在线看日韩精品电影| 精品入口麻豆88视频| 亚洲裸体在线观看| 国产精品一区二区男女羞羞无遮挡| 99久久精品免费看国产| 精品国产伦一区二区三区观看方式| 日韩理论电影院| 国产在线国偷精品免费看| 欧美羞羞免费网站| 欧美高清在线精品一区| 美女诱惑一区二区| 91黄色免费观看| 中文成人综合网| 老司机精品视频一区二区三区| 欧美中文字幕一区| 国产精品久久久久精k8 | 99精品视频在线免费观看| 日韩欧美区一区二| 午夜影院久久久| 99九九99九九九视频精品| 国产清纯美女被跳蛋高潮一区二区久久w | 一本大道久久a久久综合婷婷 | 日韩av一级片| 91视频xxxx| 亚洲欧洲色图综合| 成人免费视频一区二区| 久久久久久麻豆| 韩国精品久久久| 欧美一区二区三区视频| 亚洲bt欧美bt精品777| 91网址在线看| 中文字幕在线不卡视频| 国产白丝精品91爽爽久久| 精品国产人成亚洲区| 老司机免费视频一区二区| 91精品国产91综合久久蜜臀| 亚洲成av人片在线| 欧美日韩中文字幕精品| 一区二区视频免费在线观看| 懂色av噜噜一区二区三区av| 欧美精品一区二区三区蜜臀| 老鸭窝一区二区久久精品| 日韩色视频在线观看| 麻豆视频观看网址久久| 91精品福利在线一区二区三区| 天堂一区二区在线| 欧美一区二区视频在线观看2020 | 久久99日本精品| 欧美大肚乱孕交hd孕妇| 午夜精品福利一区二区三区av| 欧美裸体一区二区三区| 天堂va蜜桃一区二区三区 | 欧美人妇做爰xxxⅹ性高电影| 亚洲国产日韩在线一区模特 | 久久欧美一区二区| 国产九九视频一区二区三区| 日韩欧美区一区二| 国产麻豆精品视频| 国产精品色婷婷| 91老师国产黑色丝袜在线| 樱花影视一区二区| 欧美美女一区二区在线观看| 青青青伊人色综合久久| 精品成人佐山爱一区二区| 国产精品99久久久久久有的能看| 国产欧美综合色| 色嗨嗨av一区二区三区| 午夜欧美视频在线观看 | 久久这里都是精品| 99久久婷婷国产精品综合| 一区二区三区美女视频| 欧美嫩在线观看| 国产老妇另类xxxxx| 国产精品伦一区二区三级视频| 91社区在线播放| 日韩精品久久久久久| 国产亚洲制服色| 欧美专区日韩专区| 久久99精品久久久久久国产越南 | 欧美猛男gaygay网站| 精品一二三四在线| 亚洲免费成人av| 日韩欧美国产午夜精品| 成人av在线播放网址| 亚洲国产综合色| 久久亚洲精华国产精华液 | 日韩午夜精品视频| 国产成人精品aa毛片| 一区二区不卡在线视频 午夜欧美不卡在| 欧美日韩国产乱码电影| 国产乱对白刺激视频不卡| 亚洲一级二级在线| 久久久久高清精品| 在线区一区二视频| 国产一区二区三区电影在线观看 | 欧美aaaaaa午夜精品| 亚洲欧美在线视频| 日韩欧美成人午夜| 色悠久久久久综合欧美99| 国产一区二区三区四区五区美女 | 欧美三级视频在线播放| 国产不卡在线视频| 日日夜夜一区二区| 亚洲精品日日夜夜| 久久久午夜精品理论片中文字幕| 在线精品视频一区二区三四| 国产一区三区三区| 天天操天天干天天综合网| 国产精品美女久久久久久久久 | 国产成人精品综合在线观看 | 日韩欧美电影一区| 欧美亚日韩国产aⅴ精品中极品| 懂色av噜噜一区二区三区av| 美女网站色91|