陳潔
摘 要:隨著移動技術的發(fā)展,基于Android操作系統(tǒng)的移動設備在企業(yè)管理系統(tǒng)中的參與度越來越高,大量的企業(yè)級管理系統(tǒng)都需要支持Android應用程序的訪問。然而受限于硬件性能,Android設備目前只能運行一些小型數(shù)據(jù)庫,因此如何使Android應用程序也能訪問大型數(shù)據(jù)庫的技術成為關鍵。該文以SQL Server數(shù)據(jù)庫為例,介紹了兩種常用的Android應用訪問方法,并做出比較,為實際中的應用提供參考。
關鍵字:SQL Server Android 數(shù)據(jù)庫訪問
中圖分類號:TP312 文獻標識碼:A 文章編號:1672-3791(2014)12(c)-0012-01
SQL Server是由Microsoft公司推出的一種可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數(shù)據(jù)庫管理系統(tǒng),由于其在Windows平臺上的優(yōu)越性,常被一些中小型企業(yè)作為企業(yè)數(shù)據(jù)庫建設的首選。
Android是一種基于移動設備的操作系統(tǒng),它以其強大的功能和友好的界面,在目前幾大主流移動平臺系統(tǒng)的競爭中占據(jù)優(yōu)勢,在2014年的智能手機操作系統(tǒng)市場份額已接近85%。因此,面對目前幾乎人手一臺移動設備的情況,從企業(yè)發(fā)展和管理的角度來說,重視移動設備的接入,使企業(yè)管理和辦公移動化是非常有必要的,而如何讓Android應用訪問大型的數(shù)據(jù)庫成為了主要問題。
1 基于SQL Server的Android應用訪問
以Android應用訪問SQL Server數(shù)據(jù)庫為例,介紹兩種常用的訪問方式:基于Web Service的方式和基于JDBC的方式。
1.1 基于Web Service的訪問方式
Web Service技術,能使得運行在不同機器上的不同應用無需借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。依據(jù)Web Service規(guī)范實施的應用,無論它們所使用的語言、平臺或內部協(xié)議是什么,都可以相互交換數(shù)據(jù)。
因此,利用Web Service訪問SQL Server數(shù)據(jù)庫是一種比較常見的方法。該方法是在服務器端安裝Web Service程序,由其訪問SQL Server數(shù)據(jù)庫,同時為Android應用提供接口函數(shù),Android應用通過調用這些接口函數(shù)來達到訪問數(shù)據(jù)庫的目的。
在此,我們使用適合手機的Web Service客戶端類庫KSOAP2,需要下載并添加此類庫,以下給出Android調用Web Service客戶端的主要代碼。
private ConWebService conWebService = new ConWebService(
webserviceUrl ,nameSpace);
public ArrayList
{ArrayList
PropertyInfo pro = new PropertyInfo();
pro.setName("key");
pro.setValue(key);
arrayList =conWebService.getSoapData("getData", pro);
return arrayList;}
同時還需設計實現(xiàn)獲取數(shù)據(jù)功能的類ConWebservice完成數(shù)據(jù)的讀取功能。
1.2 基于JDBC的訪問方式
JDBC是Java Data Base Connectivity的縮寫,意思為“Java數(shù)據(jù)庫連接”,由一組用Java語言編寫的類和接口組成,為Java層直接操作關系型數(shù)據(jù)庫提供了標準的API。原理很簡單,主要是向服務器的DBMS發(fā)送SQL(結構化查詢語言)指令,實現(xiàn)各種數(shù)據(jù)庫的操作。而使用JDBC實現(xiàn)Android應用訪問SQL Server數(shù)據(jù)庫需要三個步驟:加載JDBC驅動程序、建立連接、發(fā)送SQL語句。
在Android工程中要使用JDBC的話,要導入JDBC的驅動,下載該驅動包(jtds-1.2.jar)并導入。接下來建立連接,實現(xiàn)代碼為:
Connection con = null;
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection( "jdbc:jtds:sqlserver://
DbComputerNameOrIPAddr:1433/DatabaseName",UserName,Password);
當成功連接數(shù)據(jù)庫之后,要創(chuàng)建一個Statement對象,Statement主要工作是把 SQL語句發(fā)送給DBMS,最后就可以發(fā)送操作數(shù)據(jù)庫的語句并處理結果了。
2 兩種方式的比較
以上兩種方式都可以完成對SQL Server數(shù)據(jù)庫的訪問,比較來說JDBC直連的方式更為簡單方便,但是安全性不高,并且當訪問的數(shù)據(jù)量過多時容易出問題。通過Web Service訪問的方式雖然不夠靈活,但只需要數(shù)據(jù)庫提供部分訪問數(shù)據(jù)的功能,當對數(shù)據(jù)庫不需完全訪問時,是比較常用的方法。
3 結語
該文主要基于常用的SQL Server數(shù)據(jù)庫,介紹了兩種Android平臺應用訪問數(shù)據(jù)庫的方法,并做出比較,為開發(fā)人員的實際使用提供參考。
參考文獻
[1] 利用JDBC連接服務器數(shù)據(jù)庫.http://blog.csdn.net/conowen/article/details/7435231/.