Ⅰ VB 用WEBSERVICE操作sql SERVER 資料庫
webservice不操作資料庫,而且對外提供標准介面,供外部系統使用。真正操作資料庫的始終是本地的實現類。
比如你做個用戶信息查詢介面。webservice只是公布給外部系統的代理類,從外部系統接收userid,然後交給本地的實現類去處理,再返回詳細信息給外部。
Ⅱ 如何使用WebServices和SOAP進行數據傳輸
需要具備
MicroSOFt®eMbeddedVisualTools
PocketPC上的有效Internet連接
如果需要,您可以下載本文中所討論的示例代碼。為了創建測試示例代碼所需的WebServices,您需要下載SOAPToolkit(.0)
須知
SOAP規范(當前版本為1.1)仍然是一個處於提議狀態的標准並且有可能發生變化。本文所提供的示例代碼使用了當前處於提議狀態的SOAP規范,在SOAP規范發生修改和變化時,本文中所提供的示例代碼可能需要修改。
該示例代碼使用了SDL(ServicESDescriptionLanguage,服務描述語言)來定義WebServices,而SDL即將(有望在2001年的上半年)被最新的WSDL規范(,Web服務描述語言)所替代。本文中所提供的示例代碼不能同使用WSDL規范的WebServices配合工作。
支持ADO(MicrosoftActiveXDataObjects)Recordset(我使用的是2.6版本)的XML格式可能會發生修改和變化,在XML格式發生變化時,本文提供的示例代碼也可能需要相應修改。
支持的語言
英語
數據和WebServices
正如我在由我撰寫的另一篇循序漸進文章「為Microsoft.NET做好准備」中所介紹的一樣,您可以在當前SOAP規范的基礎之上,使用WebServices為PocketPC開發程序。
大多數的商業應用程序都需要在伺服器和客戶機應用程序之間傳輸數據。在一個傳統的MicrosoftWeb解決方案平台(以前被稱作MicrosoftWindowsDNA)中,一般使用ADORecordset(ADO記錄集)對象進行數據傳輸。因為它使用了一種特殊類型的「編組」(對象傳輸),它無需持有伺服器上的任何「狀態」(資源)即可被傳輸到客戶端上。有鑒於此,很多現有系統中的組件都採用了這種實現方式,以ADORecordsets形式返回數據。
如果我們又想利用在這些組件上的先前投資,又想獲得應用程序同WebServices集成所帶來的諸多益處,我們就需要找到一種通過SOAP傳輸這些ADORecordsets的方法。在ChrisDengler所撰寫的「利用SOAP消息返回ADORecordset」這篇出色文章中,您可以為在個人計算機上使用WebServices找到一種解決方法。
但是,該解決方案不能被照搬到PocketPC上,因為ADOCE(ActiveXDataObjectsforCE)的實現方式同ADO有所不同。最重要的差別之處在於:ADOCE當前(3.1版)不支持持續性。特別是對於XML(擴展標記語言)格式。另一個不同之處在於:ADOCE不支持我前面所提到過的記錄集編組。因此,它不能為動態創建「連接斷開」(沒有到數據源的活動連接)狀態下的記錄集提供支持。
無處不在的WebServices數據
在當前版本的ADOCE(V3.1)中,我們必須找到另一種處理WebService(SOAP)調用返回數據的方法。在本文中,我將同大家對一些示例代碼進行探討,看看如何使用從一個SOAP響應中返回的數據。該示例假定Recordset(記錄集)按照ChrisDengler文中所介紹的Solution2封裝方式進行封裝。因為Chris在他的文章中已經對這種解決方案的實現方式進行了詳細描述,在本文中我就不再對所需的伺服器端代碼多加敘述了。
一個測試客戶端程序
在我們開始討論代碼之前,讓我們首先了解一下使用WebServices傳輸數據對我們有哪些好處。在下面這個窗體中,我創建了一個簡單的測試用客戶端程序,該程序將兩個不同的WebServices結合到了一個MicrosofteMbeddedVisualBasic應用程序之中。:
SOAP客戶端測試程序示例
窗體頂部的TextBox(文本框)用來選擇所需的WebService(描述)。這個URI(UniversalResourceIdentifier)是使用SOAPToolkitWizard創建的SDL(服務描述語言,ServicesDescriptionLanguage)文件。
我已經創建了第一個WebService,您可以調用這個WebService(使用頂部的「Get」按鈕),這個WebService主要用於測試目的。它調用一個簡單的WebService,將您提交的名和姓作為參數連接到了一個包含完整名稱的字元串中。
當您輸入一個已經在伺服器上進行了定義的DSN(數據源名稱)以及一個針對該DSN的SQL(結構化查詢語言)查詢,然後點擊「Get」按鈕時,它開始變得更有意思了。DSN和SQL作為一個參數傳遞給了WebService,然後以XML格式返回一個ADORecordset。數據經過分析後,填充在窗體底部的ListView控制項中。
在正確對伺服器進行了設置的前提下,現在,您可以方便地訪問您的企業數據了。您無需任何第三方產品--甚至不使用ADOCE--即可輕松做到這一點。對此,我的一位同事說,「這實在令人驚訝!」
代碼討論
以下代碼為cmdGetRecordset_Click事件的代碼(當您按下窗體底部的「Get」按鈕時運行):
DimlavParameters(2)AsVariant
DimlsAsString
DimlitmAsListItem
DimiAsInteger
'Setparameters
lavParameters(1)=txtDSN.Text
lavParameters(2)=txtSQL.Text
'MakeSOAPCall
ls=SOAPCall(txtURI.Text,"GetRecordset",lavParameters,chkShowPACkets=1)
'ClearandaddListViewheadings
lvwRecordset.ColumnHeaders.Clear
lvwRecordset.ColumnHeaders.Add1,,"ArtNo",700
lvwRecordset.ColumnHeaders.Add2,,"Description",1450
lvwRecordset.ColumnHeaders.Add3,,"Price",850,lvwColumnRight
'ClearandfillListViewfromXML(withRecordsetEmulation)
lvwRecordset.ListItEMS.Clear
XMLRSOpenls
DoWhileNotXMLRSEOF
Setlitm=lvwRecordset.ListItems.Add(,,XMLRS("ArticleNo"))
Ⅲ Android連接sql資料庫使用jdbc或webservice應該都可以吧兩者有什麼優缺點和不同分別在哪種情況使用
jdbc和連接池對於你這個場景來說,都足夠,既然用spring管理了,建議還是使用連接池,另外,spring自身沒有實現連接池,一般都是對第三方連接池的包裝,常見的有C3P0,dbcp以及最近比較流行的boneCP等,這幾個配置都差不多太多,以boneCP為例:
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<property name="idleConnectionTestPeriod" value="60" />
<property name="idleMaxAge" value="240" />
<property name="maxConnectionsPerPartition" value="30" />
<property name="minConnectionsPerPartition" value="10" />
<property name="partitionCount" value="2" />
<property name="acquireIncrement" value="5" />
<property name="statementsCacheSize" value="100" />
<property name="releaseHelperThreads" value="3" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
Ⅳ webservice 查詢Sql server中某列數據,卻只顯示一行數據(有不止一行數據)
User表中只有一條數據吧
"selectCidfrom[User]":表示只查詢一列數據
"select*from[User]":表示查詢所有列數據
Ⅳ WebService接收SQL語句安全嗎
當然不安全啊,通過監聽可以獲取你的sql語句,豈不是連資料庫帶資料庫結構及相關信息都暴露在在外面了啊,你打包成方法啊,比如密碼驗證,你只傳輸給webService一個用戶名和密碼,伺服器只返回成功或失敗即可,而不是把驗證用戶名和密碼的sql語句傳給webservice,如果是其他操作,最好加一些其他方面的驗證,哪怕是簡單的session驗證等。 再說了,你這樣的項目的分層也不合理啊,應該把sql語句封裝層方法。
Ⅵ 關於webservice,IIS,SQL資料庫,Winfrom之間的問題。
就是要你在VS.NET里做一個webService的應用掛在iis里,並做一個winForm的程序調用webService的方法
Ⅶ sql server 2000怎麼調用webservice
http://tech.it168.com/db/2007-09-11/200709111157063.shtml
Ⅷ 請教在pl/sql如何調用webservice
您好,希望以下回答能幫助您
沒見過也沒試過用結構化查詢語言去調用程序語言,如果是sqlserver的話提供一個思路給你
可以用vb或者C#開發dll文件來調用webservice,然後把這個dll文件在sqlserver中注冊為function
用存儲過程調用這個function
當然這只是個思路,我也沒遇到過也沒實踐過呵呵
如您還有疑問可繼續追問。
Ⅸ Java的webservice中sql語句是在哪裡執行的
sql是在伺服器端執行的,對客戶端隱藏的。
Ⅹ sql調用wsdl文件的webservice
VS2013 建個SQL項目類型的工程,在裡面建個函數,這樣可以和正常的C#工程一樣生成WS的代理,在函數里你可以調用。
SQL工程,可發布到sqlserver里, sqlserver開啟clr enable
你的函數當成你SQL 函數一樣高用即可。