--啟用Ad Hoc Distributed Queries
--(使用以下兩句代碼的原因:下面的sql中,其中有幾個從其他數據庫導入數據的語句,所以必須得先啟用Ad Hoc Distributed Queries,使用結束后,最好關閉它 )
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
GO
delete from syscode
insert into syscode
select type,code,name,note,value1,value2 FROM opendatasource('SQLOLEDB','Data Source=192.168.1.101;User ID=sa; Password=***').[DATABASE_NAME].dbo.syscode
--使用完成后,關閉Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
posted @
2013-02-03 11:27 Jimi 閱讀(2769) |
評論 (0) |
編輯 收藏
import java.util.ArrayList;
import java.util.Calendar;
public class CAL {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar start = Calendar.getInstance();
System.out.println(start.getTimeInMillis());
ArrayList<Integer> number = new ArrayList<Integer>();
number.add(1);number.add(1);
for (int i = 2; i <= 100000; i++) {
number.add(number.get(i - 1) + number.get(i - 2));
}
Calendar end = Calendar.getInstance();
System.out.println(end.getTimeInMillis());
System.out.println("時間:" + (end.getTimeInMillis()-start.getTimeInMillis() ));
System.out.println("last:"+number.get(100000));
}
}
posted @
2013-01-25 11:15 Jimi 閱讀(1914) |
評論 (0) |
編輯 收藏
項目上有一個這樣的需求:登錄的時候選擇一個單位名稱,然后輸入賬號完成登錄,下次登錄的時候,“單位選擇”框里自動顯示為上次登錄的頁面。
具體實現如下:
{
xtype : 'combo', //這里是選擇單位的Combo
id:'orgname',
store : orgStore,
name:'orgname',
emptyText : '請選擇單位',
displayField : 'orgname',
valueField : 'dbname',
editable : false,
forceSelection : true,
triggerAction : 'all',
shadow : 'frame',
hiddenName : 'dbname',
listeners:{
select:function(){ //增加1個select函數,當選擇的時候,將選擇結果保存入cookie
savedbname= Ext.getCmp('orgname').getValue();
Ext.util.Cookies.set('savedbname',savedbname);
}
}
}
var orgStore = new Ext.data.JsonStore( { //這是單位選擇Combo的數據源
url : 'test/LoginOrgSelectServlet',
root : 'orgselect',
fields : [ 'orgname', 'dbname' ],
autoLoad : true,
listeners:{load:function(){ //給store添加一個load監聽器
var cookiedata = Ext.util.Cookies.get("savedbname");
if (cookiedata!=null){Ext.getCmp('orgname').setValue(cookiedata);} //當cookie中的數據不為空的時候,設置combo的值
}}
});
posted @
2012-09-12 17:23 Jimi 閱讀(5204) |
評論 (1) |
編輯 收藏
public List queryDeviceName(String where) {
Session session = this.getSession();
List list = session.createSQLQuery("select number, name from devrepair " + where).list();
return list;
}
List deviceList = this.getDevrepairService().queryDeviceName(where);
StringBuilder sb = new StringBuilder();
sb.append("{devices:[");
for(Object nameinfo:deviceList){ //查詢的結果為Object
sb.append("{number:'").append(((Object[])nameinfo)[0]).append("',"); //將查詢結果轉化為Object的集合,取值
sb.append("name:'").append(((Object[])nameinfo)[1]).append("'}");
sb.append(",");
}
posted @
2012-09-03 17:25 Jimi 閱讀(617) |
評論 (0) |
編輯 收藏


總體方案:從sql server 中導出建立數據庫的sql文件,在powerdesigner中生成PDM,再將PDM轉化為MySql的版本,然后生成數據庫的sql,在MySql中導入sql文件生成數據庫。將sql server 表中已存在的數據導出為CSV文件,將CSV文件導入MySql中實現數據遷移。
用到的工具:Excel,PowerDesigner,SQLyog,記事本
1.在sql server 2005中,右鍵點擊數據庫→任務→生成腳本 按提示點擊下一步,最后將腳本保存到文件xxx.sql

2.打開powerdesigner,點擊文件→reverse engineer→database

選擇數據庫類型為sql server 2005

選擇第一步中生成的sql文件
點擊確定,生成sql server 2005版本的PDM文件
3.powerdesigner中,點擊工具→generate physical data model

選擇類型為mysql 5.0,點擊確定生成mysql 5.0版本的pdm,如果出現如下錯誤

將detail選項卡中的check model的打鉤去掉
4.powerdesigner中選擇 數據庫→generate database

點擊確定生成Mysql 5.0版本的數據庫腳本文件
5.mysql 中,用source命令從sql文件創建相關的表 “source d:/xxx.sql”檢查上一步驟中生成的腳本文件,由于是從sql server中生成,數據庫名稱可能是dbo,將dbo改為你打算創建的數據庫名稱
6.sql server中,,右鍵點擊數據庫→任務→導出數據 按提示導出為excel文件,如:xx.xls
7.excel中打開,選擇文件→另存為csv文件 毋須保留列名,方式選擇utf-8,否則可能出現亂碼的問題
8.再將csv文件導入mysql,有多種方式,圖形化界面SQLyog中,直接右鍵表→從CSV中導入數據 即可
posted @
2012-08-31 10:34 Jimi 閱讀(9155) |
評論 (3) |
編輯 收藏
刪除了A項目,運行B項目的時候總是有A項目的啟動信息,甚至物理刪除A項目后都無法解決,猜測是A項目的項目文件被保存在myeclipse自帶的tomcat中,網上查了查,沒有找到相關的解決辦法,憑感覺找到以下目錄:
\Workspaces\MyEclipse 8.5\.metadata\.me_tcat\webapps
發現原來刪除的A項目的文件都保存在該目錄下,此外該目錄還包括當前運行的項目,刪除相關A項目的文件即可解決。
看來 \Workspaces\MyEclipse 8.5\.metadata\.me_tcat\webapps 就是Myeclipse的發布目錄
posted @
2012-08-27 11:51 Jimi 閱讀(1948) |
評論 (0) |
編輯 收藏
你必須學會翻##墻,感謝領導!
posted @
2012-08-07 10:39 Jimi 閱讀(1420) |
評論 (2) |
編輯 收藏
小明和小強都是王老師的學生,老師的生日是M月N日,他們都知道老師的生日是以下十組中的一個,老師把M告訴了小明,把N告訴了小強,然后問他們是否知道自己的生日,小明說“如果我不知道小強也不知道”,小強說“本來我不知道,你說了這話我就知道了”,小明說“那我也知道了 ”。問老師的生日是以下的哪個。
3,4
3,5
3,8
6,4
6,7
9,1
9,5
12,1
12,2
12,8
正在上班 orz..,偶然看到一個題目,就動動腦子吧。
按月份排:
3,4 3,5 3,8
6,4 6,7
9,1 9,5
12,1 12,2 12,8
按日期排:
9,1 12,1
12,2
3,4 6,4
3,5 9,5
6,7
3,8 12,8
小明說“如果我不知道小強也不知道” 按月份排,小明一定不知道,小明知道月份以后肯定小強不知道,由于12,2 6,7的日期是唯一的,可見月份不是6月或12月,生日可能是以下5個:
按月份排:
3,4 3,5 3,8
9,1 9,5
小強說“本來我不知道,你說了這話我就知道了”,除去6,7 12,2,小強原本的選擇如下,
按日期排:
9,1 12,1
3,4 6,4
3,5 9,5
3,8 12,8
現在聽完小明說的話,剔除6月和12月的數據,老師的生日可能的日期如下:
按日期排:
9,1
3,4
3,5 9,5
3,8
現在小強知道了,由于3,5 9,5日期重復,所以日期一定不是5,生日的可能的集合為:3,4 3,8 9,1
小明說“那我也知道了 ” 小明原本可能的選擇如下,
現在小明以小強的邏輯推斷,也可推知日期一定不是5,而小明自己知道月份,如果為3月,那么小明自己也無法知道老師的生日,所以只能是9月,
老師的生日為9,1。
posted @
2012-07-25 12:48 Jimi 閱讀(1772) |
評論 (4) |
編輯 收藏
JSP頁面定義了如下幾個作用域:
頁面作用域(page scope)、請求作用域(request scope)、會話作用域(session scope)、應用程序作用域(application scope)
頁面作用域中的對象僅在當前頁面可用;請求作用域中的對象在所有處理同一請求的頁面中都可用;會話作用域中的對象用于同一瀏覽器發出的所有請求;應用程序作用域中的對象被應用程序的所有用戶共享。
通過設置<jsp:useBean>行為的scope屬性,制定bean應該放在哪個作用域中,例如:
<jsp:useBean id="test" scope="request" class="com.testBean" />
會話跟蹤過程解釋:由于HTTP是一種無狀態協議,即服務器處理完瀏覽器的請求后將忘掉所發生的事務,當瀏覽器再次發出請求時,Web服務器并不知道新的請求與之前的請求有何關系。解決這個問題主要有兩種方法:
1、服務器在應答中返回與該用戶有關的所有信息,并讓瀏覽器將其作為下一個請求的一部分發回去
2、在服務器的任何位置保存狀態信息,并且發回一個標識符,瀏覽器在下一請求中返回該標識符,然后借由該標識符定位服務器上的狀態信息
在這兩種情況下,可以用以下三種方式將狀態信息發送給瀏覽器:
1、作為cookie
2、嵌入HTML表單作為隱藏字段
3、進行編碼,編入應答主體的URL中,一般作為連接到其它應用程序的鏈接(也稱作URL復寫,URL rewriting)
在瀏覽器和服務器間來回發送所有狀態信息的效率是極低的,所以大多數現代服務器都將信息保留在服務器上,只在瀏覽器和服務器間傳遞標識符,這就是會話跟蹤(session tracking),JSP隱藏了cookie會話跟蹤的所以細節,并實現了對URL復寫的支持,此外,JSP規范允許使用安全套接字協議層(Secure Socket Layer,SSL)內置的會話機制。在會話的生命周期中,保存在會話作用域中的信息可被同一瀏覽器的所有頁面所用。
在線購物(P179):
內存使用策略:
1、只把那些真正需要被每個會話單獨擁有的對象放在會話作用域中
2、將會話的有效期設成比默認值更短
3、提供一種顯示的結束會話的方法。一個好的示例就是注銷功能,或者是當某件事務完成時,使會話失效。在servlet和其他自定義代碼中,可以使用HttpSession invalidate()方法。
posted @
2012-05-21 00:35 Jimi 閱讀(1857) |
評論 (1) |
編輯 收藏
JSP有三種類型的元素:指令元素(directive element)、行為元素(action element)、和腳本元素(script element)。
指令元素:
<%@ page...%> 定義了獨立于頁面的屬性,例如會話跟蹤、錯誤處理頁面、對緩存的要求等
<%@ include...> 在翻譯階段引入文件
<%@ taglib...> 聲明一個在頁面中使用的包含自定義行為的標記庫
標準行為元素:
<jsp:usebean> 使一個JavaBeans在當前頁面可用
<jsp:getProperty> 從JavaBeans中獲得某個屬性值,并將其添加到應答中
<jsp:setProperty> 設置JavaBeans的屬性值
<jsp:include> 在請求處理階段引入來自一個servlet或頁面的應答結果
<jsp:forward> 將對請求的處理轉交給一個servlet或JSP頁面
<jsp:param> 使用<jsp:forward> 或<jsp:include> 時,向這個請求添加參數
<jsp:plugin>
自定義行為元素和標準標記庫:JSTL,JSP標準標記庫(JSP Standard Tag Library),可以用擴展API開發自定義行為
腳本元素:
<%...%> 小腳本,用于嵌入腳本代碼
<%=...%> 用于嵌入JAVA表達式
<%!...%> 聲明變量和方法
posted @
2012-05-20 03:47 Jimi 閱讀(280) |
評論 (0) |
編輯 收藏