亚洲人成色在线观看,亚洲人成网亚洲欧洲无码久久,亚洲av日韩av天堂久久,亚洲爆乳精品无码一区二区,亚洲av永久无码精品网站色欲

  • 微信
    咨詢
    微信在線咨詢 服務時間:9:00-18:00
    縱橫數(shù)據官方微信 使用微信掃一掃
    馬上在線溝通
  • 業(yè)務
    咨詢

    QQ在線咨詢 服務時間:9:00-18:00

    選擇下列產品馬上在線溝通

    縱橫售前-老古
    QQ:519082853 售前電話:18950029581
    縱橫售前-江夏
    QQ:576791973 售前電話:19906048602
    縱橫售前-小李
    QQ:3494196421 售前電話:19906048601
    縱橫售前-小智
    QQ:2732502176 售前電話:17750597339
    縱橫售前-燕子
    QQ:609863413 售前電話:17750597993
    縱橫值班售后
    QQ:407474592 售后電話:400-1886560
    縱橫財務
    QQ:568149701 售后電話:18965139141

    售前咨詢熱線:

    400-188-6560

    業(yè)務姚經理:18950029581

  • 關注

    關于縱橫數(shù)據 更多優(yōu)惠活動等您來拿!
    縱橫數(shù)據官方微信 掃一掃關注官方微信
  • 關閉
  • 頂部
  • 您所在的位置 : 首頁 > 新聞公告 > 如何用ASP代碼實現(xiàn)虛擬主機

    如何用ASP代碼實現(xiàn)虛擬主機

    在虛擬主機的環(huán)境下,因為沒有管理員權限,只有數(shù)據庫使用權限,定時備份SQL數(shù)據是 

    個比較麻煩的問題。解決思路如下:(僅對SQL2000有效) 
    1. 利用T-SQL備份數(shù)據庫到指定目錄,文件名根據日期指定。 
    2. 利用Resin的定時功能,定時執(zhí)行備份。 
    3. 用戶定時下載備份并且刪除過期備份。 

    導出全部數(shù)據到Excel也比較實用。下面提供的方法可以導出庫中的全部表,也可以指定 

    幾個表導出。注意: 
    1. 因為是導出全部數(shù)據,在數(shù)據比較多的情況下慎用。 
    2. 理論上應該適用各種JDBC數(shù)據庫,僅對SQL2000測試過 
    3. 對于B/S下載,建議不要在服務器上生成文件,以免造成垃圾文件。直接從HTTP的Response中取得OutputStream進行輸出。 
    4. Excel操作的API請到這里下載:http://www.andykhan.com/jexcelapi/ 


    package steeven; 
    import jxl.write.*; 
    import java.util.*; 
    import java.sql.Statement; 
    import java.sql.ResultSet; 
    import java.sql.Types; 
    import java.sql.Connection; 
    import java.sql.PreparedStatement; 
    import java.sql.SQLException; 
    import java.text.DateFormat; 
    import java.io.*; 

    /** 
    * <p>Title: 數(shù)據庫備份</p> 
    * <p>Description: 在Java中備份數(shù)據庫</p> 
    * @author steeven 
    * @version 1.0 
    */ 
    public class DBackup{ 
      Context ctx ; 
      public DBackup(Context ctx) { 
        this.ctx = ctx; 
      } 
      /** 
      * 備份SQL2000數(shù)據庫到文件,整個數(shù)據庫備份 
      * 文件名后面將追加備份年月日。例如:c:\dbBackup\mydb031109 
      * @param file 導出的文件名全路徑。例如:"c:\\dbBackup\\mydb" 
      */ 
      public void backup(String dbName, String file)throws SQLException{ 
        String sql = "BACKUP DATABASE ["+dbName+"] TO DISK = N’"; 
        sql += file + new SimpleDateFormat("yyMMdd").format(new Date()); 
        sql += "’ WITH NOINIT , NOUNLOAD , NAME = N’lvdong’, NOSKIP ,  

    STATS = 10, NOFORMAT"; 
        Statement stmt = ctx.getConnection().createStatement(); 
        stmt.executeUpdate(sql); 
      } 
      /** 
      * 導出整個數(shù)據庫到Excel 
      * @param conn 數(shù)據庫連接 
      * @param out 輸出Stream 
      */ 
      public static void db2Excel(Connection conn,OutputStream out)throws  

    Exception{ 
        db2Excel(conn,out,getTables(conn)); 
      } 
      /** 
      * 導出數(shù)據庫中指定的表名到Excel 
      * @param conn 數(shù)據庫連接 
      * @param out 輸出Stream 
      * @param tables 表名 
      * @throws Exception 
      */ 
      public static void db2Excel(Connection conn,OutputStream out,List  

    tables)throws Exception{ 
        WritableWorkbook wb = jxl.Workbook.createWorkbook(out); 
        for (int i = 0; i < tables.size(); i++) { 
            WritableSheet sheet = wb.createSheet(tables.get(i).toString(),i); 
            writeSheet(sheet,tables.get(i).toString(),conn); 
        } 
        wb.write(); 
        wb.close(); 
      } 
      /** 
      * 導出表數(shù)據到Excel的sheet 
      */ 
      public static void writeSheet( 
        WritableSheet sheet,String table,Connection conn) 
        throws Exception 
      { 
        //取得所有表數(shù)據 
        String sql = "select * from "+DB.ESC1+table+DB.ESC2; 
        ResultSet rs = conn.createStatement().executeQuery(sql); 
        //根據ResultSet的MetaData取得表頭,列數(shù),列寬 
        java.sql.ResultSetMetaData meta = rs.getMetaData(); 
        int n = meta.getColumnCount(); 
        int row = 0; 
        WritableCellFormat fmt = new WritableCellFormat(); 
        fmt.setBackground(jxl.format.Colour.YELLOW); 
        for (int i = 0; i < n; i++){ 
            //導出表頭 
            sheet.addCell(new Label(i, row, meta.getColumnLabel(i + 1),fmt)); 
            //設定列寬 
    //         sheet.setColumnView(i,meta.getColumnDisplaySize(i+1)); 
        } 
        row++; 
        while(rs.next()){ 
            for (int i = 0; i < n; i++){ 
              //根據列的類型決定Excel中對應的Cell類型,缺省為文本。 
              WritableCell cell ; 
              switch(meta.getColumnType(i+1)){ 
                case Types.BIT: 
                case Types.BIGINT: 
                case Types.BOOLEAN: 
                case Types.DECIMAL: 
                case Types.FLOAT: 
                case Types.INTEGER: 
                case Types.NUMERIC: 
                case Types.REAL: 
                case Types.SMALLINT: 
                case Types.TINYINT: 
                    double val = rs.getDouble(i+1); 
                    if (rs.wasNull()) cell = new jxl.write.Blank(i,row); 
                    cell = new jxl.write.Number(i, row, val); 
                    break; 
                case Types.DATE: 
                case Types.TIME: 
                case Types.TIMESTAMP: 
                    Date date = rs.getDate(i + 1); 
                    if (rs.wasNull()) cell = new jxl.write.Blank(i,row); 
                    else cell = new jxl.write.DateTime(i, row, date); 
                    break; 
                default: 
                    cell = new Label(i, row, rs.getString(i + 1)); 
              } //end of switch 
              sheet.addCell(cell); 
            }//end of for each column 
            row++; 
        }//end of while(rs.next()) 
      } 
      /** 
      * 從Connection的MetaData取得所有數(shù)據表的名稱 
      */ 
      public static List getTables(Connection conn)throws Exception{ 
        ResultSet rs = conn.getMetaData().getTables( 
            null,null,null,new String[]{"Table"}); 
        List list = new ArrayList(); 
        while(rs.next()) 
            list.add(rs.getString(3)); 
        rs.close(); 
        return list; 
      } 

      public static void main(String[] args) throws Exception{ 
        Connection conn = DB.getConn(); 
        FileOutputStream out = new FileOutputStream("c:\\test.xls"); 
        db2Excel(conn,out); 
        out.close(); 
        conn.close(); 

    最新推薦


    微信公眾帳號
    關注我們的微信