❶ rdo遠程桌面管理工具雙擊了沒有反應是什麼問題
先檢查是工具的問題還是系統的問題,如果是工具的問題,那建議重新下載;如果是系統的問題,那估計沒法解,比較需要系統支持,工具才能運行。推薦嘗試使用iis7伺服器管理工具,它簡單,小巧,實用,功能齊全。
❷ H3C MSR3600-28路由器如何配置雙機熱備,命令如何輸入
命令通過以下方法輸入:
一、使用console口進行連接
配置雙機熱備:
一、創建RDO
在配置雙機熱備之前,必須先在每台設備上創建RDO。
進入系統視圖:system-view
創建RDO,並進入RDO視圖:rdordo-id
註:互為主備狀態的兩個設備之間的RDOID號必須一致。
二、配置本端HA介面
本端和對端防火牆需要使用HA介面協商雙方的主備狀態並同步配置命令和狀態信息。
配置本端HA介面:
ha-interfaceinterfaceinterface-name[peer-macmac-address]
可以通過peer-mac參數指定對端HA介面的MAC地址。
若不指定對端HA介面的MAC地址,則使用廣播MAC地址FFFF-FFFF-FFFF。
註:雙機熱備的協商報文和業務同步數據都使用HA介面進行傳輸,這些報文不同於普通報文,因此防火牆的防火牆模塊(如黑名單、包過濾等)對這些報文不起作用。
三、配置VIF
配置虛擬介麵包括配置介面的虛擬IP地址、介面權值和虛擬MAC地址。
當防火牆工作在路由模式下時,主備上互為備份的業務介面必須配置相同的虛擬介面ID、虛擬IP地址和虛擬MAC地址。
虛擬IP地址必須與介面的真實IP地址在同一網段,但是不能與介面的真實IP地址相同,虛MAC不能與介面的真實MAC相同。
當防火牆工作在網橋模式下時,不能配置虛擬IP地址和虛擬MAC地址。
介面權值用於動態更新優先順序,當介面DOWN/UP的時候,系統根據權值對RDO實時優先順序進行調整。
1、路由模式下配置VIF:
vifvif-idinterfaceinterface-namevirtual-ipip-address[virtual-macH-H-H][recevalue-reced]
預設情況下,value-reced的值為10。
2、網橋模式下配置VIF
vifvif-idinterfaceinterface-name[recevalue-reced]
預設情況下,value-reced的值為10。
註:
1)虛擬介面不能重復配置,必須首先用undo命令取消掉原來的配置,才能重新配置。
2)VIF的地址不能與被綁定介面的地址相同。
3)批量備份過程中不能用undo命令取消虛擬介面。
4)為了保證RDO的實時優先順序為正值,在一個RDO下每個綁定介面的權值(value-reced)總和不能大於或等於對應RDO的靜態優先順序。
5)當使用了雙機熱備功能後,請不要配置並使用VRRP,否則會導致雙機熱備功能異常。
四、配置雙機熱備的調整和優化
(一)配置RSO靜態有銜接
RDO靜態優先順序是指設備的介面全部為UP狀態時的RDO的優先順序。
根據靜態優先順序與各介面的實際狀態、權值可以計算出RDO的實時優先順序。
通過比較RDO的實時優先順序可以確定設備之間的主備關系,優先順序數值高的為Master。
配置RDO靜態優先順序:priorityvalue
預設情況下,靜態優先順序為100。
註:若本端和對端的實時優先順序相等,則根據雙方HA介面的MAC地址確定主備關系,MAC地址大的為Master。
(二)配置認證方式
認證方式是指設備通過HA介面收發數據報文和控制報文時使用的認證方式。
認證方式有簡單認證模式和MD5認證模式。
配置認證方式:
authentication-modesimplepasswordkeyword
authentication-modemd5password{plain|cipher}keyword
預設情況下,不使用認證。
註:互為主備的設備之間要使用相同的認證模式和認證密碼。
建議在配置對端IP和虛介面之前配置認證模式和認證密碼。
一旦主備協商完成,配置認證方式會造成部分報文丟失,可能會影響設備狀態。
(三)配置通告隔離
一個RDO中的主設備會定期發送抑制報文,通知備份設備自己處於正常工作的狀態,並且通告自己的優先順序。
備份設備根據通告時間間隔確定收到抑制報文的超時時間,如果連續三次未收到抑制報文則認為主設備已經出現故障,並進行狀態切換。建議本端和對端設置相同的通告間隔。
配置通告間隔:ad-intervaltime-value
預設情況下,通告間隔為3秒。
註:由於不同型號產品的硬體性能差異,以及設備在實際應用中的業務量大小等因素,雙機熱備中的備機在批量備份與恢復過程中可能會不能及時處理主機發來的通告報文,從而導致主備設備無法達到穩定同步狀態,發生主備頻繁切換的異常現象,可以通過配置更大的通告時間間隔來避免此現象。建議用戶配置的通告時間間隔大於或等於3秒,以防止上述問題發生。
❸ Access.NOW.遠程怎麼用
一般在遠程文件夾開啟文件共享即可使用遠程。
遠程連接access資料庫的幾個方法:
1建立VPN(VirtualPrivateNetwork),這樣你的電腦和主機的連接就與區域網無異,然後把伺服器中mdb文件所在的Folder共享即可。
2.把Database放在WebServer上,使ADO或RDO通過RDS(RemoteDataService)及IIS來實現。
3.自己編寫伺服器程序,通過TCP/IP,傳遞Recordset。
4.使用第三方控制項,如:ADOAnywhere或UDAPartsRDB等。
5.使用XMLHTTP。
❹ 「遠程桌面連接」可以正常連接,RDO遠程不能連接,修改哪裡設置可以解決
修改一下「遠程(RDP)連接要求使用指定的安全層」,改為啟用,安全層選擇RDP,或者重啟一下計算機,如果實在還不行,換一個遠程連接算了,我用的是IIS7伺服器管理遠程功能也很強大,沒出現過這些問題。
❺ windows遠程連接工具有哪些
iis7遠程式控制制:
一款電腦遠程監控的工具,IIS7遠程桌面管理是一款專業的遠程桌面連接軟體,無需安裝。操作簡單方便。完美的界面設計、強大的監控功能、穩定的系統平台,滿足了用戶實現遠程桌面連接的需求。
1、分組功能。
2、導入文本格式選擇,杜絕編碼錯誤的發生。
3、單個伺服器手動添加。
4、支持特徵搜索。
5、到期功能提醒。
6、導入伺服器信息一鍵生效。
7、程序自動更新。
❻ 求救!!關於sql server遠程ado連接的問題
VB訪問SQL Server資料庫技術全揭密
摘 要:
本文討論了Visual Basic應用程序訪問SQL Server資料庫的幾種常用的方法,分別說明了每種方法的內部機理並給出了每種方法的一個簡單的實例,最後比較了每種方法性能和優缺點。
一、引言
SQL Server是微軟推出的中小型網路資料庫系統,是目前最常用的資料庫系統之一。隨著SQL Server網路資料庫應用程序日益增多,這種Web資料庫應用系統的正常運行一般依賴於已存在的用戶資料庫。創建維護資料庫的工作可用SQL Server提供的SQL Enterprise Manager工具來進行,如能提供一種定製的資料庫管理工具,通過管理應用程序來管理資料庫及其設備,對用戶來說無疑是最理想的。
Visual Basic作為一種面向對象的可視化編程工具,具有簡單易學,靈活方便和易於擴充的特點。而且Microsoft為其提供了與SQL Server通信的API函數集及工具集,因此它越來越多地用作大型公司數據和客戶機—伺服器應用程序的前端,與後端的Microsoft SQL Server相結合,VB能夠提供一個高性能的客戶機—伺服器方案。
二、VB訪問SQL Server數據的常用方法
使用Visual Basic作為前端開發語言,與SQL Server介面有幾種常用的方法,即:
①數據訪問對象/Jet
②為ODBC API編程
③使用SQL Server的Visual Basic庫(VBSQL)為DB庫的API編程
④RDO 遠程數據對象(RemoteData Objects)
⑤ADO 數據對象(Active Data Objects)
1、數據訪問對象/Jet
VB支持Data Access Objects(DAOs)的子集。DAO的方法雖然不是性能最好的管理客戶機—伺服器之間的對話方式,但它的確有許多優點。DAO/Jet是為了實現從VB訪問Access資料庫而開發的程序介面對象。使用DAOs訪問SQL Server的過程如下:應用程序准備好語句並送至Jet,Jet引擎(MASJT200.DLL)優化查詢,載入驅動程序管理器並與之通訊,驅動程序管理器(ODBC.DLL)通過調用驅動器(SQLSRVR.DLL)的函數,實現連接到數據源,翻譯並向SQL Server提交SQL語句且返回結果。下面是一個用DAOs訪問SQL Server的VB實例。
注釋:Form Declarations
Dim mydb As Database
Dim mydynaset As Dynaset オ
Private Sub Form_Load()
Set mydb = OpenDatabase("", False, False, "ODBC; DSN=Myserver; WSID=LCL; DATABASE = sales")
Set mydynaset = mydb CreateDynaset("Select*from Customers") オ
End Sub ァ
上述例子是以非獨占、非只讀方式打開sales資料庫,並檢索Customers表中的所有欄位。OpenDatabase函數的最後一個參數是ODBC連接字元串參數,它指明了Microsoft Access連接到SQL Server所需要知道的一些內容。其中「DSN」為數據源名,「WSID」為工作站名,「DATABASE」為所要訪問的資料庫名。
2、利用ODBC API編程
ODBC(Open Database Connectivity)的思想是訪問異種資料庫的一種可移植的方式。與數據資源對話的公用函數組裝在一個稱為驅動程序管理器(ODBC.DLL)的動態連接中。應用程序調用驅動程序管理器中的函數,而驅動程序管理器反過來通過驅動器(SQLSRVR.DLL)把它們送到伺服器中。
下面的代碼使用上面一些函數先登錄到一個伺服器資料庫,並為隨後的工作設置了語句句柄。
Global giHEnv As Long
Global giHDB As Long
Global giHStmt As Long
Dim myResult As integer
Dim myConnection As Srting
Dim myBuff As String*256
Dim myBufflen As Integer
If SQLAllocEnv(giHEnv)<>SQL_SUCCESS Then
MsgBox"Allocation couldn注釋:t happen!"
End If
If SQLAllocConnect(giHEnv,giHDB)<>SQL_SUCCESS Then
MsgBox "SQL Server couldn注釋:t connect!"
End If
myConnection="DSN=myServer;UID=LCL;PWD=;APP=ODBCTest;WSID=LCL;DATABASE=sales"
myResult=SQLDriverConnect(giHDB,Test,form1.hWnd,myConnection.len(myConnection),myBuff,256,myBufflen,SQL_DRIVER_COMPLETE_REQU IE D)
myResult=SQLAllocStmt(giHDS,giHStmt)
myResult=SQLFreeStmt(giHStmt,SQL_COLSE)
rsSQL="Select * from Customers Where City = "Hunan""
myResult = SQLExecDirect(giHStmt,rsSQL,Len(rsSQL))
3、使用VBSQL對DB庫API編程
DB庫是SQL Server的本地API,SQL Server的Visual Basic庫(VBSQL)為Visual Basic程序員提供API。從一定意義上說,VBSQL是連接Visual Basic程序到SQL Server的性能最好最直接的方式。VBSQL包含以下三個文件:
VBSQL.VBX: 包含庫函數,具有訪問重要的消息和處理錯誤的能力
VBSQL.BI:包括所有的常量和變數說明
VBSQL.HLP:Windows幫助文件,使用VBSQL的指南
使用VBSQL時,必須將VBSQL.BI加入到Visual Basic工程文件中,並確保VB程序運行時有VBSQL.VBX文件。
一般的DB庫API編程的過程是這樣的:先通過調用SqlInit對DB庫進行初始化,再調用SqlConnection打開一個連接,然後就可做一些工作。下面的代碼是一個初始化DB庫並登錄到伺服器的通用常式。
Private Sub InitializeApplication()
DBLIB_VERSION=SqlInit()
If DBLIB_VERSION=""Then
MsgBox"Could not initialize DBLIB!Exit application.", MB_ICONEXCLAMATION
End If
End Sub
Private Function LoginToServer() As integer
loginToServer=SUCCEED
Status%=SqlSetloginTime%(loginTimeOut)
If giSqlConn<>0 Then
SqlClose(giSqlConn) 注釋:關閉已打開的連接
giSqlConn=SqlOpenConnection(gsServerName, gsLoginID, gsPassword, ProgramName, ProgramName)
If giSqlConn<>0 Then
liresuit=SqlUse(giSqlConn,"Sales")
Else
LogintoServer=FAIL
End If
End Function
4、RDO 遠程數據對象(RemoteData Objects)
要討論RDO,就必然要談到DAO。RDO是從DAO派生出來的,但兩者很大的不同在於其資料庫模式。DAO是針對[記錄(Records)]和[欄位( Fields)],而RDO是作為[行(Rows)]和[列(Columns)]來處理。也就是說DAO 是ISAM模式,RDO是關系模式。此外DAO是訪問Access的Jet引擎(Jet是ISAM)的介面,而RDO則是訪問ODBC的介面。
可見,RDO是綜合了DAO/Jet、VBSQL/DBLib以及ODBC的優點的對象(Object)。需要強調的是,RDO是包裹著ODBC API的一層薄薄的外殼, 被設計成在後台(伺服器端)有資料庫存在的前提下運行,同時也是針對SQL Server和Oracle而特別設計的。
RDO的優勢在於它完全被集成在VB之中。此外,直接訪問SQL Server存儲過程、完全支持T-SQL、T-SQL調試集成在開發環境中、Visual Database Tools的集成化等,也是RDO的長處。
在RDO的對象和集合中,有很多對資料庫的狀態和設定進行操作的屬性(Property),以及對資料庫進行操作的方法(Method)。利用這些,從RDO2.0起就可以開發事件驅動的資料庫應用程序。
RDO對象與VB中其他對象的概念相同。與VB用的ActiveX控制項(以往稱為Custom Control或OCX、VBX)相似的是,RDO也帶有屬性和方法;但同Spread、InputMan等普遍應用的ActiveX控制項不同的是,RDO沒有自己的用戶界面,因而可以和VB標準的Timer控制項歸為同一類。當然也可以將RDO看作調用ODBC API函數,進而對後台資料庫操作加以控制的對象。在RDO的屬性和方法中,包含了對單個的ODBC API函數以及一連串API函數的調用。
①rdoEngine對象
最初調用RDO對象以及RDC(遠程數據控制項)時,自動生成rdoEngine對象的附帶事件(incident)。rdoEngine用於對RDO全局屬性的參數、選項進行設置,是在RDO的階層結構內處於最上層的對象,包含了所有的其他對象。
rdoEngine對象與DAO/Jet不同,雖然被多個應用程序共享,但體現rdoEngine對象的設定值的屬性卻並不共用,而是在各自的應用程序的程序界面中對其分別加以設定。這些設定值對其他使用RDO以及RDC的應用程序沒有任何影響。rdoEngine不是集合的要素,而是重新定義的對象,rdoEngine對象不能被追加作成對象屬性的初值。
②rdoEnvironment對象
RDO對象在自動創建rdoEngine對象時,將rdoEnviroment對象的初始值生成並保存為rdoEnviroments(0)。一般情況下,應用程序中不必追加rdoEnvironment對象,大多隻需對已有的rdoEnviroments(0)進行操作就可以了。只有在支持一個以上事務(Transaction),需要將用戶名和口令信息分別處理的情況下,利用rdoCreateEnvironment方法將特定的用戶名和口令值做成新的rdoEnvironment對象。在這個方法中可以指定固有名、用戶名和口令,如果所指定的值與rdoEnvironments集合的已經存在的成員名稱相同,會產生錯誤。新建的rdoEnvironment對象自動追加在rdoEnvironments集合的最後。調rdoCreateEnvironment方法時,其name參數可以是長度為0的文字列,這時新的rdoEnvironment對象將不會被追加在rdoEnvironments集合之中。
③rdoConnection對象
rdoConnection對象用於同SQL Server的連接管理。
下面是與SQL Server連接的例子。
用OpenConnection方法的一個實例。
設定的DSN為MyDSN:
Dim Cn As rdoConnection
Dim En As rdoEnvironment
Dim Conn As String
Conn = "DSN = MyDSN; UID = Jacob;" & "PWD = 123456; DATA BASE = MyDb;"
Set Cn= En.OpenConnection("", rdDriverPrompt, False, Co nn)
Set Cn= En.OpenConnection(Prompt:= rdDriverPrompt, Rea dOnly:= False,Connect:= Cnn)
用EstablishConnection方法的一個實例。
這里以獨立的rdoConnection對象為例說明與SQL Server的連接。
Public WithEvents Eng As rdoEngine
Public WithEvents Cn As rdoConnection
Private Sub Form_Load()
Set Eng = New rdoEngine
Set Cn = New rdoConnection
With Cn
.Connect = "UID = ; PWD = ;" & "DATABASE = pubs; DSN = biblio"
.LoginTimeout = 5
.EstablishConnection rdoDriverNoPromt, True, rdAsyncEna ble
End With
End Sub
在這個例子中,Form_Load函數對rdoEngine和rdoConnection對象進行初始化。這里有一點需要注意,rdoConnection對象是處於獨立的狀態之下,即使是處於未連接狀態也可以設置屬性的值。接下來是rdoConnect對象的事件處理程序。從RDO 2.0起可以實現非同步方式(rdAsyn cEnable),EstablishConnection就設定為該值。在非同步狀態下,不必等待與資料庫的連接,程序可以迅速從Form_Load 函數中退出。 然後是BeforeConnect事件,該處理在與資料庫的連接開始以前被激發,此時不能進行有關終止連接的操作:
Private Sub Cn_BeforeConnect(ConnetString As String, Pro mpt As Variant)
MsgBox "正在連接" & ConnectString, vbOKOnly, "連接前"
End Sub
連接完成之後的事件處理:
Private Sub Cn_Connect(ByVal ErrorOccurred As Boolean)
Dim M As String
If ErrorOccurred Then
For Each er In rdoErrors
M = M & er & vbCrLf & M
Next
MsgBox "連接失敗" & vbCrLf & M
Else
MsgBox "連接成功"
注釋:這是確認連接狀態的測試代碼
Cn.Excute "use pubs"
End Sub
RDO連接處理結束後,在該事件中確認連接成功與否。連接成功的情況下ErrorOccurred返回False,失敗時為True,由此可以對rdoErrors集合進行檢測:
Private Sub Eng_InfoMessage()
For Each er In rdoErrors
Debug.Print er
Next
RdoErrors.Clear
End Sub
不能與SQL Server連接的原因多種多樣,有可能是由於對資料庫的訪問許可權、網路連接問題、資料庫表的信息錯誤、SQL Server同時連接的許可數、資源不足等等,具體情況需要與網路管理員商量。 斷開連接的操作非常簡單,但又很重要,因為RDO不提供自動斷開的功能。
Cn.Close
Set Cn = Nothing 注釋:釋放對象所佔的內存資源
En.Close
Set En = Nothing 注釋:釋放對象所佔的內存資源
VB是對象語言,Form、ActiveX控制項也都是對象。使用對象後必須養成將對象設為Nothing把它從內存中釋放的編程習慣。這樣可以預防很多不可預測錯誤,往往程序中發生原因不明的錯誤時,其原因就在於此。
5、ADO 數據對象(Active Data Objects)
ADO是基於全新的OLE DB技術,OLE DB可對電子郵件、文本文件、復合文件、數據表等各種各樣的數據通過統一的介面進行存取。隨著ActiveX控制項的升級(Windows 98的ActiveX 5.0),RDO將被以ActiveX技術為基礎的ADO介面所替代。下面將介紹基於ActiveX技術的ADO訪問SQL Server 6.5資料庫的技術和方法。基於瀏覽器的ADO介面常用函數如下:
(1)取當前的工作資料庫
由於管理任務一般都必須在Master庫中完成,因此在執行管理任務之前,最好保存當前工作庫,以便完成任務之後再切換回原來的任務。
Public Function SQLGetCurrentDatabaseName(Cn As ADODB.Connection) As String
Dim sSQL As String
Dim RS As New ADODB.Recordset
On Error GoTo errSQLGetCurrentDatabaseName
sSQL="select CurrentDB=DB_NAME ( )"
RS.Open sSQL, Cn
SQLGetCurrentDatabaseName=Trim $ (RS! CurrentDB)
RS.Close
Exit Function
errSQLGetCurrentDatabaseName:
SQLGetCurrentDatabaseName=" "
End Function
(2)取SQL Server安裝目錄下的DATA子目錄路徑
取SQL Server的設備文件預設目錄,返回如D:MSSQL DATA。
Public Function SQLGetDataPath(Cn As ADODB.Connection) As String
Dim sSQL As String
Dim RS As New ADODB.Recordset
Dim sFullPath As String
On Error GoTo errSQLGetDataPath
sSQL="select phyname from master..sysdevices where name=注釋:master注釋: "
RS.Open sSQL, Cn
sFullPath = RS! phyname
RS.Close
SQLGetDataPath=Left $ (sFullPath, Len(sFullPath) -10) 注釋:MASTER.DAT的大小
Exit Function
errSQLGetDataPath:
SQLGetDataPath=" "
End Function
(3)創建一個新資料庫
Public Function SQLCreateDatabase65 (Cn As ADODB.Connection,sDBName As String, sDataDeviceName As String, nDataSize As Integer, Optional sLogDeviceName, Optional nLogSize) As Boolean
Dim sSQL As String
On Error GoTo errSQLCreateDatabase65
Dim sDB As String
sDB =SQLGetCurrentDatabaseName(Cn)
sSQL = "USE master"
Cn.Execute sSQL
sSQL ="CREATE DATABASE" & sDBName
sSQL = sSQL &" ON " & sDataDeviceName & "=" & nDataSize
If Not IsMissing(sLogDeviceName) And Not IsMissing(nLogSize) Then
sSQL = sSQL & "LOG ON" & sLogDeviceName & "="& nLogSize
End If
Cn.Execute sSQL
sSQL = "USE" & sDB
Cn.Execute sSQL
SQLCreateDatabase65 = True
Exit Function
errSQLCreateDatabase65:
On Error Resume Next
sSQL = "USE " & sDB
Cn.Execute sSQL
SQLCreateDatabase65 = False
End Function
(4)判斷一個資料庫是否存在
Public Function SQLExistDatabase(Cn As ADODB.Connection, sDBName As String) As Boolean
Dim sSQL As String
Dim RS As New ADODB.Recordset
Dim bTmp As Boolean
on Error GoTo errSQLExistDatabase
sSQL = "select CntDB = count ( * ) "
sSQL = sSQL & "From master.dbo.sysdatabases"
sSQL = sSQL & "Where name = 注釋: "& sDBName & " 注釋: "
RS.Open sSQL, Cn
If RS! CntDB = 0 Then bTmp = False Else bTmp = True
RS.Close
SQLExistDatabase = bTmp
Exit Function
errSQLExistDatabase:
SQLExistDatabase = False
Exit Function
End Function
(5)刪除一個資料庫
Public Function SQLDropDatabase (Cn As ADODB.Connection, sDBName As String) As Boolean
Dim sSQL As String
On Error GoTo errSQLDropDatabase
If Not SQLExistDatabase(Cn, sDBName) Then
SQLDropDatabase = True
Exit Function
End If
Dim sDB As String
sDB = SQLGetCurrentDatabaseName(Cn)
sSQL = "Use master"
Cn.Execute sSQL
sSQL = "DROP DATABASE " & sDBName
Cn.Execute sSQL
sSQL = "USE " & sDB
Cn.Execute sSQL
SQLDropDatabase = True
Exit Function
errSQLDropDatabase:
On Error Resume Next
sSQL = "USE " & sDB
Cn.Execute sSQL
SQLDropDatabase = False
End Function
三、性能比較及應用說明
用VB開發基於SQL Server的資料庫系統,以上幾種訪問SQL Server的方法各有各的特點。DAOs方法是基於對象的,因而便於使用,但是它是從Visual Basic到SQL Server最慢的連接方式。ODBC API和VBSQL方法從本質上講是基於程序的。ODBC API方法通用性好,允許最強的互操作性,編程簡單,但速度慢於VBSQL方法。VBSQL方法通過VBSQL控制項,提供了重要的SQL Server前端應用程序所需的靈活性、強大功能和良好性能。它具有真正的事件驅動及錯誤處理能力,完全支持非同步處理、游標和計算列等。這些都是VBSQL方法超出其它方法的優勢,但其編程稍復雜。RDO是位於ODBC API之上的一個對象模型層,它依賴ODBC API、ODBC驅動程序以及後端資料庫引擎來實現,用RDO所需的程序短小(約250 KB)、快速。RDO具備基本的ODBC處理方法,可直接執行大多數ODBC API函數,RDO包含在VB 4.0/VB 5.0企業版中,由MSRDO32.DLL動態連接庫來實現。RDO是綜合了DAO/Jet、VBSQL/DBLib和ODBC的優點的對象模型,包含ODBC API應用層,設計為在後台(伺服器端)有資料庫存在的前提下運行,是針對SQL Server和Oracle而特別設計的。RDO的優勢在於它完全被集成在VB之中,可直接訪問SQL Server存儲過程、完全支持T-SQL、T-SQL調試集成在開發環境中、Visual Database Tools的集成化等。但微軟已宣布今後不再對VBSQL/DBLib進行升級,而ODBC API函數一般的編程方式也不為人們所喜愛,RDO的應用將逐漸減少。至於實際使用哪一種介面方式,在很大程度上依賴於用戶的應用程序的具體情況而定。
四、VisualBasic訪問資料庫的前景
近來隨著Web應用軟體的迅速發展和現有數據存儲形式的多種多樣,Visual Basic訪問資料庫的解決方案面臨諸如快速提取分布於企業內部和外部有用商業信息等的多種挑戰。為此Microsoft提出一種新的資料庫訪問策略,即「統一數據訪問」(UniversalDataAccess)的策略。「統一數據訪問」提供了高性能的存取包括關系型和非關系型在內的多種數據源,提供獨立於開發工具和開發語言的簡單的編程介面,這些技術使得企業集成多種數據源、選擇更好的開發工具、應用軟體、操作平台、建立容易維護的解決方案成為可能。
「統一數據訪問」的基礎是Microsoft的數據訪問組件。這些組件包括ActiveXDataObjects(ADO)、RemoteDataService(RDS,也稱「高級數據連接器或」ADC)、OLEDB和ODBC。
回答者
❼ rdo遠程桌面問題沒辦法連接顯示是這個。求高手解決!
可以換一個遠程桌面工具試一下,然後使用管理員身份打開,推薦使用伺服器管理工具,遠程連接伺服器時建議關閉防火牆,防火牆會攔截數據;最好利用管理員身份打開軟體,通過的許可權更高。
❽ 我的伺服器系統是windows 2003,都是遠程桌面來操作,怎麼把多用戶設置成單用戶
1. 刪除其他用戶,只留一個administrator
2. 管理工具-終端伺服器配置-網卡 裡面設置最多連接數,來限制administrator的同時登錄數量
3. 使用RDO工具遠程登錄,可以選擇console方式或一般方式
❾ 怎樣用vc++ 6.0訪問SQL Server資料庫
從功能簡單的資料庫(如Jet Engine)到復雜的大型資料庫系統(如oracle),VC++6.0都提供了一些編程介面。本文主要介紹以下五種: 1.ODBC API;2.MFC ODBC類;3.MFC DAO類;(數據訪問對象)4.MFC的OLE/DB;5.ActiveX數據對象(ADO)。6.RDO遠程數據訪問
1.開放資料庫連接(ODBC API):提供了一個通用的編程介面,允許程序與多種不同的資料庫連接。它為Oracle,SQL Server,MS Excel等都提供了驅動程序,使得用戶可以使用SQL語句對資料庫進行直接的底層功能操作。在使用ODBC API時,用戶須引入的頭文件為 "sql.h ", "sqlext.h ", "sqltypes.h "。用ODBC API創建資料庫應用程序遵循一定的基本步驟:
第一步是分配ODBC環境,使一些內部結構初始化。完成這一步,須分配一個SQLHENV類型的變數在ODBC環境中做句柄使用。
第二步是為將要使用的每一個數據源分配一個連接句柄,由函數SQLALLocHandle()完成。
第三步是使用SQLConnect()把連接句柄與資料庫連接,可以先通過SQLSetConnectAttr()設置連接屬性。
然後就可以進行SQL語句的操作,限於篇幅,相關的函數就不具體介紹了,讀者可以參考相關書籍。
操作完成後,用戶取回相應的結果,就可以取消與資料庫的連接。
最後需要釋放ODBC環境。
ODBC API的特點是功能強大豐富,提供了非同步操作,事務處理等高級功能,但相應的編程復雜,工作量大。
2.MFC ODBC類:MFC1.5後的版本里引入封裝了ODBC功能的類。通過這些類提供與ODBC的介面,使得用戶可以不須處理ODBC API中的繁雜處理就可以進行資料庫操作。主要的MFC ODBC類如下。
CDatabase類:一個CDatabase對象表示一個到數據源的連接,通過它可以操作數據源。應用程序可使用多個CDatabase對象:構造一個對象並調用OpenEx()成員函數打開一個連接。接著構造CRecordSet對象以操作連接的數據源,並向CDatabase對象傳遞記錄集構造程序指針。完成使用後用Close()成員函數銷毀CDatabase對象。一般情況下並不需要直接使用CDatabase對象,因為CRecordSet對象可以實現大多數的功能。但是在進行事務處理時,CDatabase就起到關鍵作用。事務(Transaction)指的是將一系列對數據源的更新放在一起,同時提交或一個也不提交,為的是確保多用戶對數據源同時操作時的數據正確性。
CRecordSet類:一個CRecordSet對象代表一個從數據源選擇的一組記錄的集合-記錄集。記錄集有兩種形式:snapshot和dynaset。前者表示數據的靜態視圖,後者表示記錄集與其他用戶對資料庫的更新保持同步。通過CRecordSet對象,用戶可以對資料庫中的記錄進行各種操作。
CRecordView類:CRecordView對象是在空間中顯示資料庫記錄的視圖。這種視圖是一種直接連到一個CRecordSet對象的格式視圖,它從一個對話框模板資源創建,並將CRecordSet對象的欄位顯示在對話框模板的控制項里。對象利用DDX和RFX機制,使格式上的控制項和記錄集的欄位之間數據移動自動化,也就是說,用戶甚至不要編寫一行代碼就可以實現簡單的資料庫記錄查看程序。
CDBException類:由Cexception類派生,以三個繼承的成員變數反映對資料庫操作時的異常:
m_nRetCode:以ODBC返回代碼(SQL_RETURN)的形式表明造成異常的原因。
m_strError:字元串,描述造成拋出異常的錯誤原因。
m_strStateNativeOrigin:字元串,用以描述以ODBC錯誤代碼表示的異常錯誤。
MFC資料庫類成員函數都能拋出CDBException類型的異常,所以在代碼對資料庫進行操作後監測異常是正確做法。
MFC ODBC類在實際開發中應用最廣,因為它功能豐富,操作相對簡便。
3.MFC DAO(數據訪問對象)編程:DAO用於和微軟的Access資料庫介面。在資料庫應用程序如果只需與Access資料庫介面時,使用DAO編程較方便。其主要類如下。
CDaoWorkspace:CDaoWorkspace對象可以讓一個用戶管理從登陸到離開期間,指定的密碼保護的資料庫會話全過程。大多數情況下不要多個工作區也不要創建明確的工作區對象。因為在打開資料庫和記錄集對象時,它們可以使用DAO預設工作區。
CDaoDatabase:代表一個連接,類似上述CDatabase類。
CDaoRecordSet:用來選擇記錄集並操作,類似上述CRecordSet類。
CDaoRecordView:類似上述CRecordView類。
CDaoException:類似上述CDBException類。
CDaoTableDef:表示基本表或附加表的定義。每個DAO資料庫對象包括一個稱為TableDef的收集,包含所有存儲的DAO表定義對象。CDaoTableDef對象可以用來控製表定義。
CDaoQueryDef:CDaoQueryDef對象表示了一個查詢定義(querydef)。
CDaoFieldExchange:支持資料庫類使用的DAO欄位交換(DFX)常式。也可處理事務,類似MFC ODBC類。
MFC DAO僅用來支持Access資料庫,應用范圍相對固定。
4.OLE DB:OLE DB在數據提供程序和用戶之間提供了靈活的組件對象模型(COM)介面,這種靈活性有時會使得操作復雜化。OLE DB框架定義了應用的三個基本類。
數據提供程序Data Provider:擁有自己的數據並以表格形式顯示數據的應用程序。提供OLE DB的行集COM介面,期顯示範圍可以從單一數據表格的簡單提供者知道更復雜的分布式資料庫系統。
使用者Consumers:使用OLE DB介面對存儲在數據提供程序中的數據進行控制的應用程序。用戶應用程序歸為使用類。
服務提供程序Service Provider:是數據提供程序和使用者的組合。服務提供程序沒有自己的數據,但使用
OLE DB使用者介面來訪問存儲在數據提供程序中的數據。然後,服務提供程序通過打開數據提供程序介面使得數據對使用者有效。服務提供程序常用於向應用程序提供高層次服務,比如高級分布式查詢。
OLE DB編程時,用戶使用組件對象開發應用程序。這些組件有:
枚舉器:用於列出可用的數據源;
數據源:代表單獨的數據和服務提供程序,用於創建對話;
對話:用於創建事務和命令;
事務:用於將多個操作歸並為單一事務處理;
命令:用於向數據源發送文本命令(SQL),返回行集;
錯誤:用於獲得錯誤信息。
5.ActiveX數據對象(ADO):是微軟提供的面向對象的介面,與OLE DB類似,但介面更簡單,具有更廣泛的特徵數組和更高程度的靈活性。ADO基於COM,提供編程語言可利用的對象,除了面向VC++,還提供面向其他各種開發工具的應用,如VB,VJ等。ADO在伺服器應用方面非常有用,特別是對於動態伺服器頁面ASP(Active Server Page)。
ADO對象結構類似於OLE DB,但並不依靠對象層次。大多數情況下,用戶只需要創建並只使用需要處理的對象。下面的對象類組成了ADO介面。
Connection:用於表示與資料庫的連接,以及處理一些命令和事務。
Command:用於處理傳送給數據源的命令。
Recordset:用於處理數據的表格集,包括獲取和修改數據。
Field:用於表示記錄集中的列信息,包括列值和其他信息。
Parameter:用於對傳送給數據源的命令之間來回傳送數據。
Property:用與操作在ADO中使用的其他對象的詳細屬性。
Error:用於獲得可能發生的錯誤的詳細信息。
在VC++使用ADO需要進行COM操作,詳細方法在此就不贅述了。
在當今流行的分布式開發環境下,VC++6.0在資料庫開發方面有較強的優勢,學會
在不同的場合選用不同的技術,對開發人員來說是必要的技術。