sqlyog怎么连接rds云数据库(sqlyog能连接oracle吗)

sqlyog怎么连接rds云数据库(sqlyog能连接oracle吗),第1张

1、开通云服务器服务;

2、开通RDS服务,如果开通成功,会返回给用户连接地址和端口;

3、先停止业务,使用MySQLmp的数据导出工具,将原有数据库数据导出为数据文件;

4、将数据文件使用ftp工具上传到已经购买的云服务器中;

5、远程登录到云服务器,将刚才上传的数据文件导入到examplemysqlaliyun:3306中。

数据迁移完毕,可以对RDS正常使用。用户可使用数据库客户端工具或第三方数据库管理工具以及程序的方式,通过域名和端口号连接数据库,在输入正确的用户名和密码后即可登陆DB进行 *** 作和开发。

随着虚拟化技术的发展,因与 传统PC相比的巨大优势,云桌面也越来越受到人们的关注。但是,对于 VDI、IDV、VOI、RDS 四种不同架构的云桌面类型,大部分人并不知道他们的区别在哪里,在有云桌面需求时就不知道怎么选择?下面我就带大家详细介绍下这四种类型云桌面区别。

VDI是采用集中计算、集中存储的虚拟桌面基础架构,属于云桌面技术。其架构是所有计算资源都基于服务器,所有运算都在服务器上,前端只需要瘦终端通过网络连接服务器上虚拟桌面在显示器上显示,每一个用户是一个独立的 *** 作系统,在逻辑上完全隔开。VDI在资源按需分配、移动设备访问、集中管理控制、服务器架构设计、数据安全性等方面都具有很大优势。它的劣势表现为:依赖网络环境,断网后就无法连接云桌面;同时集中存储运算的特点决定了需要配置高性能的服务器,投资成本较高。

IDV是采用集中存储、分布运算的构架,是intel为了挽救自身X86业务而提出的虚拟化技术,但不属于云桌面技术。IDV的数据存储集中在后端,镜像存储在本地,因此离线是可用的,但是安全性会低于VDI。IDV 不再对网络过度依赖,无需大量的图像传输,支持系统离线运行,同样可以统一管理终端桌面系统,必须支持VT 等带外特性。而在3D应用方面,IDV同时受本地PC显卡配置和显卡传透技术影响性能略低于物理PC,但可满足普通办公需求。此外,不支持按需分配、不支持多终端接入。

VOI无任何硬件虚拟化层,其本身是无盘工作站模式,虽然现在被很多厂家说成是云桌面,其实它并不属于云桌面技术。VOI为集中存储、分布运算的构架。该模式是在服务器端存储系统数据,在客户机上运行桌面。VOI 针对 IDV 进行改进,抛弃了硬件虚拟化层,让桌面完全运行在本地物理机之上,系统数据在服务器共享存储,终端机器启动的时候,通过网络重定向技术从服务器端获取系统启动数据,同时支持系统缓存到本地运行,支持离线运行,桌面性能完全保持传统 PC的体验。

RDS是Windows *** 作系统RDP的升级版,其通过在一个Windows *** 作系统上创建多个用户帐号来使用,属于云桌面技术。其原理是基于多用户 *** 作系统,在已安装了 *** 作系统的服务器上安装共享云桌面的管理软件,再批量创建用户,然后通过传输协议发送到各个客户端上。

上面介绍了目前市面上常说的4种云桌面类型,那这种架构真的都懂都属于云桌面吗?其实不是的,我们确定一个架构是否属于云桌面,关键是看系统运算是否在服务器端。根据这个标准,我们就能判断出,VDI和RDS都是服务器集中式计算,所有系统和应用都集中于服务器,所以属于云桌面;而IDV和VOI都是客户端分布式计算,各桌面运行系统分布在各客户端,都不属于云桌面。

根据国际数据公司IDC预测,云桌面市场会持续增长,其中2016-2023年的复合年均增长率将达到23%。 说明这个市场需求还是挺大的。而不同的云桌面方案也会因为自身的特点占据着市场一方:

总之,针对私有云桌面现状及优劣势对比,在选择云桌面是可以根据预算、安全性、管理、移动性等需求等因素选择合适自己的方案。

延伸: VDI实例-阿里云·无影C-key

我就说7点:

在微软的ASP编程体系中,ADO对象的建立,使得从网页访问数据库成为一件易事,特别是ADO的

Recordset对象使得控制数据的输出显示更为方便、自由。而在Visual InterDev60(以下简称VI60)中,

由于Script Object Model(以下简称SOM)、Design-Time Control(以下简称DTC)以及Data Environment

Object Model(以下简称DEOM)等对象模型的引入,使网页对数据库的访问设计显得更为方便。

因为主题方面的原因,关于数据库的连接,下文只给出代码和简要注释,而把重点放在如何利用

Recordset对象(或控件)实现数据记录的分页显示方面。根据我的理解,分页显示的关键就在于对ADO的

Recordset对象或DTC(设计时控件)的Recordset控件的属性和方法的熟练把握上。

这七种分页显示的武器概括起来说分四类:

第一、二种我暂取名叫“纯ASP法”,这也是国内的ASP网站上用得最多的方法,它们的区别仅在实现

技巧的不同。这两种方法的实现最易理解,用到的对象概念也最少,对开发环境的要求也最低(只要记事

本就行)。可以说,这两种方法的实质还是CGI的编程思想,只是在程序中引入了ADO对象而已。

第四、五种暂取名叫“SOM的DHTML法”。这两种方法要求在VI60的环境下,利用微软提出的脚本对

象模型(Script Object Model)和DHTML中Table对象的与数据库绑定的新特性(许多书和文章只介绍了

DHTML的CSS特性在样式设计中的运用而忽略介绍其数据绑定特性),实现在客户端控制翻页。但它要求用

户的浏览器必须是支持DHTML,如:Microsoft Internet Explorer 40及以上的版本。

第六种暂取名叫“SOM服务器端法”。要求在VI60的环境下开发,它利用微软提出的脚本对象模型(

Script Object Model)中的几个DTC控件:Recordset、PageObject、Grid等在服务器端(客户端)实现翻

页控制。这是一种激动人心的、全新的编程方法,它把网页看成对象(这种对象模型和传统的DOM----

document object model是有区别的:DOM只能控制客户端,而SOM可控制服务器端和客户端),它真正实现

了网页的面向对象编程。但遗憾的是,也许是我个人能力有限,这种技术我个人认为还不是很成熟,比如

,与浏览器的结合还不是很好,这将在后文详细说明。

第七种暂取名叫“DEOM法”。它也是利用了VI60中建立的数据环境对象模型(Data Environment

Object Model)建立Recordset对象。这也是在网页编程上比较少见的新方法,与SOM模型相比,自有它的

优点,这将在后文详述。

在后面所举的所有例子源代码,都可以直接拷贝使用,你甚至可以不懂其原理,只要把其中的粗斜体

字部分换成相应自己的数据库名或字段名就可以了。

在开始详细介绍各种分页方法前,让我们先创建一个数据库:用Office97中的access自创一个

Employeemdb,其中建一个表emp,只设三个字段:emp ID,last name和first name。为什么这么简单,

是因为我们关心的是怎样处理recordset的结果。

第一种:参数直接代入法

这种方法是用手工建立Recordset对象,利用其pagesize(每页指定显示记录数),pagecount(总页

码数)和absolutepage(当前页码数)属性来控制分页的输出。分页采用<href>直接带页码参数的方法

来控制翻页。网页的名字为emp1asp。源代码如下:

<%//建立与employeemdb数据库的连接。

Set conn = ServerCreateObject("ADODBConnection")

connOpen "driver={Microsoft Access Driver (mdb)};dbq=employeemdb"

//建立emp表的Recordset对象实例rs。

Set rs = ServerCreateObject("ADODBRecordset")

rsOpen "emp", conn, 3

PageSize = 10 //pagesize属性指定了每页要显示的记录条数

Page = CLng(Request("Page")) ’string型转化为long型

If Page < 1 Then Page = 1

If Page > rsPageCount Then Page = rsPageCount

If Page <> 1 Then

ResponseWrite "<A HREF=emp1aspPage=1>第一页</A>�"

ResponseWrite "<A HREF=emp1aspPage=" & (Page-1) & ">上一页</A>�"

End If

If Page <> rsPageCount Then

ResponseWrite "<A HREF=emp1aspPage=" & (Page+1) & ">下一页</A>�"

ResponseWrite "<A HREF=emp1aspPage="&rsPageCount & ">最后一页</A>�"

End If

Responsewrite"页码:" & Page & "/" & rsPageCount & "</font>"

//每一页的显示

//显示表头

ResponseWrite "<CENTER><TABLE BORDER=1>"

ResponseWRITE "<TR><TD>" & rsFields("emp ID")Name & "</TD>"

ResponseWRITE "<TD>" & rsFields("last name")Name & "</TD>"

ResponseWRITE "<TD>" & rsFields("first name")Name & "</TD></TR>"

//循环显示每条记录

rsAbsolutePage = Page //把页码赋给absolutepage属性从而知当前页的首条记录号

For iPage = 1 To rsPageSize //

ResponseWRITE "<TR><TD>" & rsFields("emp ID")Value & "</TD>"

ResponseWRITE "<TD>" & rsFields("first name")Value & "</TD>"

ResponseWRITE "<TD>" & rsFields("last name")Value & "</TD></TR>"

rsMoveNext

If rsEOF Then Exit For

Next

ResponseWrite "</TABLE></CENTER>"%>

第二种:表单传送参数法

这种方法在创建Recordset对象时与第一种相同,只是在翻页控制时,采用<input>和case语句配合

来实现翻页。网页的名字为:emp2asp。此方法在编程逻辑上有个缺点:就是在按过“上页”或“下页”

钮后,再在浏览器上按刷新按钮时,会自动翻页。源代码如下:

if Pagenum = "" Then Pagenum = 1 //从第一页开始显示

//建立数据库连接和Recordset对象实例rs。

与第一种方法相同,此处略过。

RSPagesize = 10 ’ 设置一页中显示的记录条数为10条

// 确定翻页的动作

Select Case Request("NAV")

Case ""

session("Pagenum") = 1

case "First" ’ First Record

session("Pagenum") = 1

case "Prev" ’ Previous Record

if session("Pagenum") > 1 then

session("Pagenum") = session("Pagenum") - 1

End If

case "Next" ’ Next Record

if session("Pagenum")< RSPageCount then

session("Pagenum") = session("Pagenum") + 1

End if

case "Last" ’ Last Record

session("Pagenum") = RSPageCount

End Select

RSAbsolutepage = Clng(session("Pagenum")) //确定当前页的第一条记录号

// 显示当前页

同第一种方法,此处略过。

// Nav 翻页按钮设置

<form method="GET" action="emp2asp">

<input type="submit" name="NAV" Value="首页">

<input type="submit" value="上页" name="NAV">

<input type="submit" value="下页" name="NAV">

<input type="submit" value="末页" name="NAV"></form>

第三种:用Grid控件设计分页

所有的方法中,这种方法最容易。你只需拖DTC中的Recordset控件和Grid控件到asp网页中就行了。

而且,你还能选择是在服务器平台还是在客户端平台控制翻页。缺点就是你必须用它给定的格式显示,而

不能自己自由控制表格的显示格式。

方法如下:

在VI60中建一个工程empvip。再在工程中添加一个asp网页:emp3asp。

第一步:选VI60菜单条上的“add data connect…”,按开发工具的导航提示,你就可以很容易地

建立与Employeemdb数据库的连接。从DTC工具栏中拖一个Recordset控件到网页中,并设置其属性。具体

如图:

当你拖控件到网页中时,VI60会自动提示你“是否使用Scripting object model”,按yes。

第三步:从DTC工具栏中拖一个Grid控件到网页中,然后单击鼠标右键,设置其属性,如:选在第二

步中创建的Recordset控件名,选择emp表中的字段,每页显示多少条记录以及显示格式等。非常简单方便

,只要照着导航提示做就行了。

第四种:DHTML法一。

数据记录显示在一个HTML表中。它利用DHTML中表的数据绑定特性来控制记录的分页显示。缺点就是

你的翻页方法将被限制为一种特定的方式:只能“上页”和“下页”而不能“首页”和“末页”。由于是

在客户端控制翻页,所以,这种和第五种方法是速度最快的,但遗憾的是它只能在支持DHTML的浏览器上

使用。

在DHTML中,<TABLE>的DATASRC属性可使表格绑定到一个数据源,另一个属性DATAPAGESIZE可指定

一页一次显示的记录数。

我们来看下面的例子:

第一步:拖Recordset控件到新建的网页emp4htm中,设置其属性,方法同第三种,此处略。

第二步:输入下面的代码:

<TABLE ID="Table1" DATASRC="#Recordset1_RDS" DATAPAGESIZE=5> //假定前面设定Recordset控件名

为Recordset1。每页显示5条记录。

<THEAD>

<TH ALIGN="left" WIDTH=150>Emp ID</TH> //输出表头

<TH ALIGN="left" WIDTH=200>Last Name</TH>

<TH ALIGN="left" WIDTH=200>First Name</TH>

</THEAD>

<TR>

<TD><DIV DATAFLD="Emp ID"></DIV></TD> //输出表内容

<TD><DIV DATAFLD="Last Name"></DIV></TD>

<TD><DIV DATAFLD="First Name"></DIV></TD>

</TR>

</TABLE>

第三步:然后,增加一对DTCs Button按钮控件来做翻页导航,一个命名为“btnPrevious”(上一页

),一个命名为“btnNext”(下一页)。它们相应的脚本如下:

<SCRIPT LANGUAGE=VBScript>

Function btnPrevious_onclick()

Table1previousPage()

End Function

Function btnNext_onclick()

Table1nextPage()

End Function

</SCRIPT>

第五种:DHTML法二

这种方法是对第四种方法的完善。采用手工编写脚本的方法,使我们能做“首页”,“末页”翻页导

航按钮,并能确定每条记录的位置(记录号)。由于篇幅的关系,我在下面只介绍一个具体例子,并给出

简要说明。其它关于DHTML和Recordset控件的一些属性和方法请读者自行参照相关书籍。这里需要提请注

意的是,Recordset控件与第一、二种方法中介绍的ADO的Recordset对象有些不同:Recordset控件没有直

接给出pagesize和pagecount等属性,需要用下面介绍的方法来计算。

第一步:拖Recordset控件到新建的网页emp5htm中,名字为Recordset1,设置其属性,方法同第三

种,此处略。

第二步:定义三个全局变量和编写Recordset1的ondatasetcomplete(数据设置完成时)脚本。

Dim gCurrentPageNumber //当前页号

Dim gMaxPageNumber //最大页数

Dim gRecordsPerPage //每页显示记录数

gRecordsPerPage = 5 // 设置每页显示记录数为5条记录。

Function Recordset1_ondatasetcomplete()

totalRecordCount = Recordset1getCount() //总的记录条数

gMaxPageNumber = Int(totalRecordCount / gRecordsPerPage) //获得最大页数

If (totalRecordCount Mod gRecordsPerPage) > 0 then

gMaxPageNumber = gMaxPageNumber + 1

End If

End Function

第三步:创建翻页导航按钮。

Function btnFirst_onclick() ’ 翻到首页

gCurrentPageNumber = 1

DisplayData()

End Function

Function btnPrevious_onclick() ’ 翻到上一页

if gCurrentPageNumber > 1 Then

gCurrentPageNumber = gCurrentPageNumber - 1

DisplayData()

End If

End Function

Function btnNext_onclick() ’ 翻到下一页

if gCurrentPageNumber < gMaxPageNumber Then

gCurrentPageNumber = gCurrentPageNumber + 1

DisplayData()

End If

End Function

Function btnLast_onclick() ’翻到末页

gCurrentPageNumber = gMaxPageNumber

DisplayData()

End Function

第四步:编写显示每一页的函数。其中使用了许多DHTML的属性和方法,请读者自行参考相关书籍。

Sub DisplayData()

startRecord = ((gCurrentPageNumber - 1) gRecordsPerPage) + 1 //计算每一页开始显示的记录号

数(位置,第几条)

rowCtr = 1

lblPageNumberinnerHTML = gCurrentPageNumber & "/" & gMaxPageNumber

For recordPtr = startRecord To (startRecord + gRecordsPerPage - 1) //循环显示一页的各条记录

If recordPtr > Recordset1getCount() Then //显示空表

Table1rows(rowCtr)cells(0)innerHTML = "<P> </P>"

Table1rows(rowCtr)cells(1)innerHTML = "<P> </P>"

Table1rows(rowCtr)cells(2)innerHTML = "<P> </P>"

Table1rows(rowCtr)cells(3)innerHTML = "<P> </P>"

Else //具体显示每一页

Recordset1moveAbsolute(recordPtr) //移动记录指针。

empID = Recordset1fieldsgetValue("emp ID")

empLName = Recordset1fieldsgetValue("first name")

empFName = Recordset1fieldsgetValue("last name")

Table1rows(rowCtr)cells(0)innerText = recordPtr ’ Counter

Table1rows(rowCtr)cells(1)innerText = empID

Table1rows(rowCtr)cells(2)innerText = empLName

Table1rows(rowCtr)cells(3)innerText = empFName

End If

rowCtr = rowCtr + 1

Next

End Sub

另外,我们还需要在window对象的onload事件中编写如下脚本:

For rowCtr = 1 to gRecordsPerPage

Table1insertRow(rowCtr) ’ 插一新列

For cellCtr = 0 to 3

Table1rows(rowCtr)insertCell()

Next

Next

第六种:服务器端控制翻页方法。

如果我们在服务器端对数据进行分页形成HTML语句后再输出到客户端,就不会存在浏览器不支持

DHTML的问题了。可是用服务器端法使得我们每次翻页时,都得让Recordset控件重新产生一次,因此速度

肯定要比用DHTML的方法慢。但如果服务器足够快的话,这点慢客户是察觉不到的。

下面的例子中,我将介绍一个新的DTC控件:PageObject。这个控件使被指定的网页成为一个网页对

象,用户在此网页的服务器脚本中组织的子程序和函数可被看作是该网页对象的方法。它提供了管理状态

信息的一种先进的方法:网页对象有一些属性(变量),用户可以定义这些属性的生存期。因为以上这些

特性,使我们在编制翻页的脚本时非常方便。

但这种方法的缺点是:当你按了“上页”或“下页”按钮后,再浏览器上的按刷新按钮,网页会自动

翻页。另外,如果按了浏览器上的“回退”按钮后,再按翻页按钮,可能会出现一次乱翻。这都是因为网

页对象属性(全局变量)造成的。

第一步:拖Recordset控件到新建的网页emp6asp中,名字为Recordset1,设置其属性,方法同第三

种,此处略。

第二步:拖PageObject控件到网页中,取名叫emplist。然后右键单击此控件打开属性页并设置

MaxPageNumber,RecordsPerPage,CurrrentPageNumber三个属性(全局变量)。VI60可用get和set方法

来读写它们的值,具体用法请查阅相关资料。

第三步:编写Recordset1的ondatasetcomplete事件。

Function Recordset1_ondatasetcomplete()

recordsPerPage = 5

empListsetRecordsPerPage(recordsPerPage)//设置网页对象每页记录条数属性为5

totalRecordCount = Recordset1getCount()//获得记录集的总条数

mpn = Int(totalRecordCount / recordsPerPage) //计算出mpn为总页数

If (totalRecordCount Mod recordsPerPage) > 0 then

mpn = mpn + 1

End If

empListsetMaxPageNumber(mpn)

End Function

第四步:拖四个button控件到网页中,编写翻页控制脚本。我们主要是通过改变网页对象的

CurrentPageNumber属性的值来实现翻页。

Function btnFirst_onclick()’ 翻到首页

empListsetCurrentPageNumber(1)

End Function

Function btnPrevious_onclick()’ 翻到上一页

cpn = empListgetCurrentPageNumber()

if cpn > 1 Then

empListsetCurrentPageNumber(cpn - 1)

End If

End Function

Function btnNext_onclick()’ 翻到下一页

cpn = empListgetCurrentPageNumber()

if cpn < empListgetMaxPageNumber() then

empListsetCurrentPageNumber(cpn + 1)

End If

End Function

Function btnLast_onclick() ’ 翻到末页

empListsetCurrentPageNumber( empListgetMaxPageNumber() )

End Function

为保证首次进入该页时,显示的是第一页,我们还得编写该网页对象的onEnter事件。

Function empList_onEnter()

If empListfirstEntered Then

empListsetCurrentPageNumber(1)

End If

End Function

第五步:编写显示每一页的脚本。

<HR><TABLE BORDER=0><TR>//显示表头

<TH ALIGN="left" WIDTH=35></TH>

<TH ALIGN="left" WIDTH=150>Emp ID</TH>

<TH ALIGN="left" WIDTH=200>Last Name</TH>

<TH ALIGN="left" WIDTH=200>First Name</TH></TR>

<%

pageNumber = empListgetCurrentPageNumber()//计算翻页所需的各种参数,同DHTML法二

recordsPerPage = empListgetRecordsPerPage()

startRecord = ((pageNumber - 1) recordsPerPage) + 1

lastRecord = Recordset1getCount()

For recordPtr = startRecord To (startRecord + recordsPerPage - 1)%>

<%If Recordset1EOF = True Then%>

<TR>

<TD> </TD>

<TD> </TD>

<TD> </TD>

<TD> </TD>

</TR>

<%Else%>

<%Recordset1moveAbsolute(recordPtr)%>

<TR>

<% If recordPtr <= lastRecord Then %>

<TD><%=recordptr%></TD>

<%Else%>

<TD> </TD>

<% End If %>

<TD><%=Recordset1fieldsgetValue("emp ID")%></TD>

<TD><%=Recordset1fieldsgetValue("last name")%></TD>

<TD><%=Recordset1fieldsgetValue("first name")%></TD>

</TR>

<%End If%>

<%Next%>

</TABLE><HR>

第七种:Data Environment Object Model(数据环境对象模型)法

Data Environment对象模型把ADO对象模型及它的对象----“Connection”,“Command”,

“Recordset”,“Field”以及“Parameter”对象----抽象到一个更加容易的表单中。Data

Environment Object Model把命令显露为方法。用户可以调用这些方法,这些方法会执行这些命令并返回

所得到的记录集。关于DEOM对象模型详细资料请参考相关书籍。我们来看下面网页emp7asp的例子:

第一步:在VI60的“project Explorer”窗口中的工程项目上右击鼠标并从d出式菜单选择“Add

Data Connection”。根据VI给出的导航提示建立一个到数据库的连接之后,用户就添加了一个实现从ASP

应用程序访问数据库的数据命令。同时,你将会在“Project Explorer”窗口中的globalasa文件下方看

到一个“Data Environment”对象。

第二步:右击“Data Environment”对象然后从d出式菜单中选择“Add Data Command”选项,添加

一个数据命令Command1。根据VI60的导航提示,你可以在Command1 Propertiesd出窗口的Genetal页中

选SQL Statement,输入:select from emp。按OK返回。

第三步:你创建了这个数据命令后,就已经为该Data Environment对象创建了一个方法,然后就可以

从脚本中调用这个方法,而且该方法将会给用户返回一个记录集。

thisPagecreateDE() //在SOM模式下,thisPage表示当前网页对象,createDE()方法创建了DE对象。

DECommand1//执行DE对象的命令,后面可代参数,做有条件查询时很有用。

Set rs=DErsCommand1//DErscommand1使得rs对象完全等同于一个ADO的Recordset对象。

第四步:因为rs为ADO对象,所以,以下的实现翻页代码完全参照以上介绍的几种方法,此处略过。

其它还有如FrontPage2000的数据库导航中实现的方法等,因与本主题无关,此处略。

综上所述,前面介绍的每种方法都包含了很多新的技术,由于篇幅的关系,无法深入。本文只是想通

过实现翻页这一具体的例子来介绍ASP网页编程的多种方法;让大家亲身体验一下VI60在编制网页中的强

大功能;了解和熟悉微软在网页编程中提出的ADO、DHTML、DTC控件、SOM对象模型和DEOM对象模型的使用

方法;希望能给大家在编制网页时提供更多的选择和参考。

以上就是关于sqlyog怎么连接rds云数据库(sqlyog能连接oracle吗)全部的内容,包括:sqlyog怎么连接rds云数据库(sqlyog能连接oracle吗)、“虚拟云电脑”-VDI、IDV、VOI、RDS分别是什么、asp如何实现内容分页等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10149578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存