浅谈访问SQL-Azure数据库操作的方法 (访问与访谈)

教程大全 2025-07-09 03:32:03 浏览

作为后台,您可以使用任意的前端客户端,只需具备受支持的连接库即可,例如 ADO.NET 或 ODBC来管理数据库的操作和开发应用程序。 这其中包括使用 Java 或 PHP 编写的应用程序。 目前不支持通过 OLE DB 连接到 SQL Azure。

与 Windows Azure 数据存储可选方式(例如表、队列或 Blob)不同,当您使用 SQL Azure 作为项目的数据源时,您无需在开发环境中安装任何内容。 如果您使用的是 Visual Studio 2010,您可以直接开始,而无需更多的 SDK、工具或其他任何内容。

如果您使用 Visual Studio 2010开发应用程序,您可以利用其中提供的功能,直接从 Visual Studio 服务器 资源管理器在所选的SQL Azure 数据库安装中查看或创建很多类型的对象。 这些对象是表、视图、存储过程、函数和同义词。 您还可以使用这个查看器查看与这些对象相关的数据。 对于很多开发人员来说,使用 Visual Studio 2010 作为主要的工具来查看和管理 SQL Azure 数据就足够了。 图1是服务器资源管理器的视图窗口,其中显示了数据库的本地安装和云实例。 您会发现,两个视图中的树节点稍有不同。 例如,云安装中没有程序集节点,因为 SQL Azure 不支持自定义程序集。

图1 在 Visual Studio 服务器资源管理器中查看数据连接

与访谈

正如前文所述,另一个可用来处理 SQL Azure 的工具是 SQL Server Management Studio (SSMS) 2008 R2。 与使用 Visual Studio 2010 相比,您使用 SSMS 2008 R2 可以访问更多的 SQL Azure 数据库操作。 这两种工具,我自己都会使用,具体取决于要完成的操作。 SSMS 2008 R2 提供而 Visual Studio 2010 中没有的一个操作例子是使用 T-SQL 脚本创建新的数据库。 另一个例子是它能够轻松地执行索引操作(创建、维护和删除等等)。 图2显示了一个例子。

图2使用 SQL Server Management Studio 2008 R2 管理 SQL Azure

SQL Server 2008 R2 ***发布的一项功能是数据层应用程序,或者称为。 DAC pac 对象在一个实体中综合了SQL Server 或 SQL Azure 数据库架构和对象。 您可以使用 Visual Studio 2010(构建)或 SQL Server 2008 R2 SSMS(提取),从现有的数据库创建 DAC。

如果您希望使用 Visual Studio 2010 处理 DAC,则应首先在 Visual Studio 2010 中选择 SQL Server 数据层应用程序项目类型。 然后在解决方案资源管理器中,右键单击项目名称,单击“导入数据层应用程序”。 系统将打开一个向导,指导您完成导入过程。 如果您使用的是 SSMS,则可以在对象资源管理器中右键单击要使用的数据库,然后单击“任务”,再单击“提取数据层应用程序”以创建 DAC。

生成的 DAC 是一个压缩文件,其中包含多个 T-SQL 和 XML 文件。 您可以右键单击 .dacpac 文件,然后单击“解压缩”来使用这些内容。 SQL Azure 支持删除、部署、提取和注册 DAC pac,但不支持升级它们。

【编辑推荐】


VC中如何用ADO连接局域网SQL Server数据库

一、ADO概述ADO是Microsoft为最新和最强大的数据访问范例 OLE DB而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口。OLE DB是一组”组件对象模型”(COM)接口,是新的数据库低层接口,它封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。OLE DB是MicrosoftUDA(Universal;strSRC+=suppersoft;strSRC+=;Database=;strSRC+=mydb;strSRC+=;UID=SA;PWD=;CString strSQL = Insert into student(no,name,sex,address) values(3,aaa,male,beijing);_variant_t varSRC(strSRC);_variant_t varSQL(strSQL);_bstr_t bstrSRC(strSRC);if (FAILED(pConn->Open(bstrSRC,,,-1))){AfxMessageBox(Can not open;strSRC+=210.46.141.145;strSRC+=;Database=;strSRC+=mydb;strSRC+=;UID=sa;PWD=;strSRC+=sa;CString strSQL = select id,name,gender,address from personal;_variant_t varSRC(strSRC);_variant_t varSQL(strSQL);if(FAILED(pPtr->Open(varSQL,varSRC,adOpenStatic,adLockOptimistic,adCmdText))){AfxMessageBox(Open table failed!);();return FALSE;}while(!pPtr->GetadoEOF()){_variant_t varNo;_variant_t varName;_variant_t varSex;_variant_t varAddress;varNo = pPtr->GetCollect (id);varName = pPtr->GetCollect (name);varSex = pPtr->GetCollect (gender);varAddress = pPtr->GetCollect (address);CString strNo =(char *)_bstr_t(varNo);CString strName =(char *)_bstr_t(varName);CString strSex =(char *)_bstr_t(varSex);CString strAddress =(char *)_bstr_t(varAddress);();();();();int nCount = m_();int nItem = m_ (nCount,_T());m_ (nItem,0,strNo);m_ (nItem,1,strName);m_ (nItem,2,strSex);m_ (nItem,3,strAddress);pPtr->MoveNext();}pPtr->Close();(); 6、使用_CommandPtr接口_CommandPtr接口返回一个Recordset对象,并且提供了更多的记录集控制功能,以下代码示例了使用_CommandPtr接口的方法: 代码:使用_CommandPtr接口获取数据

_CommandPtr pCommand;_RecordsetPtr pRs;(__uuidof(Command));pCommand->ActiveConnection=pConn;pCommand->CommandText=select * from student;pCommand->CommandType=adCmdText;pCommand->Parameters->Refresh();pRs=pCommand->Execute(NULL,NULL,adCmdunknown);_variant_t varValue = pRs->GetCollect(name);Cstring strValue=(char*)_bstr_t(varValue);

7、关于数据类型转换由于COM对象是跨平台的,它使用了一种通用的方法来处理各种类型的数据,因此Cstring类和COM对象是不兼容的,我们需要一组API来转换COM对象和C++类型的数据。_vatiant_t和_bstr_t就是这样两种对象。它们提供了通用的方法转换COM对象和C++类型的数据。

SQL数据库和ACCESS数据库使用区别

ACCESS改为SQL需要注意哪几个地方 数据库导入以后,自动增加字段需要重写,所有的数字类型需要增加长度,最好用decimal。 所有的默认值都丢失了。 主要是数字类型和日期类型。 所有now(),time(),date()要改成getdate()。 所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2) 有可能一些true/false类型不能使用,要变为1/0。 备注类型要通过cast(column as varchar)来使用。 CursorType要改成1,也就是打开数据库时要给出第一个数字参数为1,否则记录可能显示不完整。 isnull(rowname)要改成rowname = null ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! 转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。 有时用smalldatetime型时,转化失败,而用datetime型时,转化成功。 对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:“delete * from user where id=10“,而对SQL SERVER数据库进行删除是用:“delete user where id=10“. 日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。 在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。 ACCESS转SQL SERVER的数据库的几点经验 的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! 2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。 我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。 3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:“delete * from user where id=10“,而对SQL SERVER数据库进行删除是用:“delete user where id=10“. 4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。 5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。

oracle数据库有哪几种启动方式

有以下几种启动方式:1、startup nomount非安装启动,这种方式启动下可执行:重建控制文件、重建数据库读取文件,启动instance,即启动SGA和后台进程,这种启动只需要文件。 2、startup mount dbname安装启动,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机,重新定位数据文件、重做日志文件。 执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。 3、startup open dbname先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。 4、startup,等于以下三个命令startup nomountalter database mountalter database open5、startup restrict约束方式启动这种方式能够启动数据库,但只允许具有一定特权的用户访问非特权用户访问时,会出现以下提示:ERROR:ORA-: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用6、startup force强制启动方式当不能关闭数据库时,可以用startup force来完成数据库的关闭先关闭数据库,再执行正常启动数据库命令7、startup pfile=参数文件名带初始化参数文件的启动方式先读取参数文件,再按参数文件中的设置启动数据库例:startup pfile=

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐