⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqldiagnostic.java

📁 第三方的SQL Server and Sybase的jdbc dirver,速度更快
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        // still important.        sybStates.put(new Integer(102), "37000");        sybStates.put(new Integer(109), "21S01");        sybStates.put(new Integer(110), "21S01");        sybStates.put(new Integer(113), "42000");        sybStates.put(new Integer(168), "22003");        sybStates.put(new Integer(201), "37000");        sybStates.put(new Integer(207), "42S22");        sybStates.put(new Integer(208), "42S02");        sybStates.put(new Integer(213), "21S01");        sybStates.put(new Integer(220), "22003");        sybStates.put(new Integer(227), "22003");        sybStates.put(new Integer(229), "42000");        sybStates.put(new Integer(230), "42000");        sybStates.put(new Integer(232), "22003");        sybStates.put(new Integer(233), "23000");        sybStates.put(new Integer(245), "22018");        sybStates.put(new Integer(247), "22003");        sybStates.put(new Integer(257), "37000");        sybStates.put(new Integer(262), "42000");        sybStates.put(new Integer(277), "25000");        sybStates.put(new Integer(307), "42S12");        sybStates.put(new Integer(512), "21000");        sybStates.put(new Integer(517), "22008");        sybStates.put(new Integer(535), "22008");        sybStates.put(new Integer(542), "22008");        sybStates.put(new Integer(544), "23000");        sybStates.put(new Integer(545), "23000");        sybStates.put(new Integer(546), "23000");        sybStates.put(new Integer(547), "23000");        sybStates.put(new Integer(548), "23000");        sybStates.put(new Integer(549), "23000");        sybStates.put(new Integer(550), "23000");        sybStates.put(new Integer(558), "24000");        sybStates.put(new Integer(559), "24000");        sybStates.put(new Integer(562), "24000");        sybStates.put(new Integer(565), "24000");        sybStates.put(new Integer(583), "24000");        sybStates.put(new Integer(611), "25000");        sybStates.put(new Integer(627), "25000");        sybStates.put(new Integer(628), "25000");        sybStates.put(new Integer(641), "25000");        sybStates.put(new Integer(642), "25000");        sybStates.put(new Integer(911), "08004");        sybStates.put(new Integer(1276), "25000");        sybStates.put(new Integer(1505), "23000");        sybStates.put(new Integer(1508), "23000");        sybStates.put(new Integer(1715), "21S02");        sybStates.put(new Integer(1720), "42S22");        sybStates.put(new Integer(1913), "42S11");        sybStates.put(new Integer(1921), "42S21");        sybStates.put(new Integer(2526), "37000");        sybStates.put(new Integer(2714), "42S01");        sybStates.put(new Integer(2812), "37000");        sybStates.put(new Integer(3606), "22003");        sybStates.put(new Integer(3607), "22012");        sybStates.put(new Integer(3621), "01000");        sybStates.put(new Integer(3701), "42S02");        sybStates.put(new Integer(3902), "25000");        sybStates.put(new Integer(3903), "25000");        sybStates.put(new Integer(4602), "42000");        sybStates.put(new Integer(4603), "42000");        sybStates.put(new Integer(4608), "42000");        sybStates.put(new Integer(4934), "42S22");        sybStates.put(new Integer(6104), "37000");        sybStates.put(new Integer(6235), "24000");        sybStates.put(new Integer(6259), "24000");        sybStates.put(new Integer(6260), "24000");        sybStates.put(new Integer(7010), "42S12");        sybStates.put(new Integer(7327), "37000");        sybStates.put(new Integer(9501), "01003");        sybStates.put(new Integer(9502), "22001");        sybStates.put(new Integer(10306), "42000");        sybStates.put(new Integer(10323), "42000");        sybStates.put(new Integer(10330), "42000");        sybStates.put(new Integer(10331), "42000");        sybStates.put(new Integer(10332), "42000");        sybStates.put(new Integer(11021), "37000");        sybStates.put(new Integer(11110), "42000");        sybStates.put(new Integer(11113), "42000");        sybStates.put(new Integer(11118), "42000");        sybStates.put(new Integer(11121), "42000");        sybStates.put(new Integer(17222), "42000");        sybStates.put(new Integer(17223), "42000");        sybStates.put(new Integer(18091), "42S12");        sybStates.put(new Integer(18117), "42S22");        sybStates.put(new Integer(18350), "42000");        sybStates.put(new Integer(18351), "42000");    }    /**     * SQL Server type. Either <code>Driver.SQLSERVER</code> or     * <code>Driver.SYBASE</code>.     */    private final int serverType;    SQLException exceptions;    SQLWarning warnings;    void addWarning(SQLWarning w) {        if (warnings == null) {            warnings = w;        } else {            warnings.setNextWarning(w);        }    }    void addException(SQLException e) {        if (exceptions == null) {            exceptions = e;        } else {            exceptions.setNextException(e);        }    }    /**     * Create a dianostic SQLException or SQLWarning.     *     * @param number SQL Server error number.     * @param state SQL Server state code.     * @param serverity SQL Server serverity > 10 = error.     * @param message SQL Server error message text.     * @param server SQL Server name.     * @param procName SQL Server stored procedure name.     * @param line SQL Server error line number in SQL source.     */    void addDiagnostic(int number,                       int state,                       int serverity,                       String message,                       String server,                       String procName,                       int line) {        if (serverity > 10) {            SQLException e = new SQLException(message,                                              getStateCode(number, serverType, "S1000"),                                              number);            //            // See if the driver should return a DataTrunction exception            //            if ((serverType == Driver.SQLSERVER &&                    (number == 8152 ||                     number == 8115 ||                     number == 220)) ||                (serverType == Driver.SYBASE &&                    (number == 247 ||                     number == 9502))) {                SQLException tmp = e;                e = new DataTruncation(-1, false, false, -1, -1);                // Chain the original exception as this has useful info.                e.setNextException(tmp);            }            addException(e);        } else {            if (number == 0) {                // Output from a TransactSQL print statement.                SQLWarning w = new SQLWarning(message, null, 0);                addWarning(w);            } else {                SQLWarning w = new SQLWarning(message,                                              getStateCode(number, serverType, "01000"),                                              number);                addWarning(w);            }        }    }    /**     * Clear the warning chain.     */    void clearWarnings() {        warnings = null;    }    /**     * Check the exception chain for errors and throw any found     * as an SQLException.     *     * @throws SQLException     */    void checkErrors() throws SQLException {        if (exceptions != null) {            SQLException tmp = exceptions;            exceptions = null;            throw tmp;        }    }    /**     * Return the warning chain.     *     * @return The warning chain head as a <code>SQLWarning</code>.     */    SQLWarning getWarnings() {        return warnings;    }    /**     * Create an SQL message for a specific server type.     *     * @param serverType either <code>Driver.SQLSERVER</code> or <code>Driver.SYBASE</code>     */    SQLDiagnostic(final int serverType) {        this.serverType = serverType;    }    /**     * Map an SQL Server error code to an ANSI SQLSTATE code.     *     * @param number the SQL Server error number     * @param serverType <code>Driver.SQLSERVER</code> or <code>Driver.SYBASE</code>     * @param defState the default state code to return if the mapping fails     * @return the SQLSTATE code as a <code>String</code>     */    private static String getStateCode(final int number,                                       final int serverType,                                       final String defState) {        final HashMap stateTable = (serverType == Driver.SYBASE) ? sybStates : mssqlStates;        final String state = (String) stateTable.get(new Integer(number));        if (state != null) {            return state;        }        return defState;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -