仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 985|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页编程之SQL Server数据库关于使用程序的干系

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你可以配置MySQL运行在微小的嵌入式应用程序中,处理的数据可能不足1Mb??而你也可以用它来处理数Tb的数据。MySQL获得这种可扩展性的路径之一是通过一个人们所熟知的存储过程,这是一个运行在程序之外的微型、预编译程序。</p>  以下的文章次要是先容SQLServer数据库与实在际使用元数据,我前两天在相干网站瞥见SQLServer数据库与实在际使用元数据的材料,以为挺好,就拿出来供人人分享,但愿会给人人带来一些匡助在此方面。
  我常被问到怎样把驻留在物理服务器/SQL实例上的SQLServer数据库变化为它们响应的使用程序称号。在筹办企图好的服务器停机关照时,这类必要就发生了,但在我的构造内与IT司理或非手艺职员相同时,这也是有代价的。假如你不是数据
  我常被问到怎样把驻留在物理服务器/SQL实例上的数据库变化为它们响应的使用程序称号。在筹办企图好的服务器停机关照时,这类必要就发生了,但在我的构造内与IT司理或非手艺职员相同时,这也是有代价的。
  假如你不是数据库办理员或特定数据库的使用剖析师,你一般会忽视数据库的定名划定规矩,而这些数据库撑持着你逐日依附的使用程序。这就是为何当必要发生时在得当的地位上由元数据库来供应转化很主要。
  专家解答
  年夜部分数据库办理员具有某种情势的数据库SQLServer数据库,他们依附其来跟踪局限很广的MicrosoftSQLServer情况。我使用毗连的服务器和散布式数据库会见来创建一个已在我的情况中利用了七年的元数据库。它不是大度的,但它是功效性很强的。
  跟良多IT开辟者和数据库办理员一样,即便它有本身的不敷我仍是为本人的制造感应自满。它很慢,不像它能够的那样最新型,也不像它应当的那样平安。
  自从读了2007年5月和6月RodneyLandrum在SQLServer杂志上宣布的关于SQLServer集成服务(SSIS)和数据库办理员常识库(DBARepositories)的文章,我晓得是时分接纳他人的办理办法了。这关于我的情况来讲是完善的,而一些修改也是简单采取的。
  2008年2月,一篇后续文章在SQLServer杂志上宣布,在这篇文章里,Rodney更新了他的办理办法。我下载了代码,在我的测试情况里考核,并敏捷把它归入产物中。当人人广泛地为这个办理办法所供应的而感应乐意时,在它包中短少的一方面是把数据库联系关系到使用程序的才能。
  经由过程在他的办理办法中增添两张分外的表,我能够在我的“土生土长”元数据库中增添使用程序元数据到我如今利用的SQLServer杂志的办法中。
  增添到我数据库中的使用元数据包含创立两张表:dbo.Applications,专为存储一切程序的使用称号,而这些程序在我的情况中依附于SQLServer数据库,另有
  dbo.Database_Applications,它保留SQL实例、SQLServer数据库和使用程序之间的干系。
  ApplicationsTableCREATETABLE[dbo].[Applications](
  [AppID][int]IDENTITY(154,1)NOTNULL,
  [ApplicationName][varchar](100)NOTNULL,)
  Database_ApplicationsTable
  CREATETABLE[dbo].[Database_Applications](
  [DB_AppID][int]IDENTITY(1,1)NOTNULL,
  [ServerName][varchar](50)NOTNULL,
  [DatabaseName][varchar](100)NOTNULL,
  [ApplicationName][varchar](100)NULL)
  你大概注重到,我没有标准化dbo.Database_Applications表。假如我标准化,我会只存储两个地区:一个与存储我的使用元数据的表有关的外键,和一个与我的元数据库绝对应的外键。我有本人的缘故原由:
  我没有处置大批的数据:我有也许800个数据库,这些SQLServer数据库在我的情况里公布80个实例。固然这关于一个数据库办理员来讲是个很年夜的情况,可是它既不变化成在我的元数据内外的大批记录,也不变化成数据库的伟大字节。
  不是经由过程dbo.Applications表的主键,而是包括表中的使用程序名,我能够经由过程只会见dbo.Database_Applications表发生我的次要使用程序元数据呈报(keyApplicationMetadatareport)。
  我的情况中的SQL数据库利用“坚壁清野”生齿处置办法,除SQLAgentJobHistory和BackupHistory,其他的表都被天天删除和从头载进。我发明在
  dbo.Database_Applications表中保留信息可使我的生存变得很简单。
  逐日从我的情况中载进数据后,我能够经由过程以下剧本失掉在我的情况中发生的任何新的数据库的优秀的报告。
  SELECTD.[Server],D.DatabaseNameFROMdbo.DatabasesDLEFTJOINdbo.Database_ApplicationsDAOND.DatabaseName=DA.DatabaseNameANDD.[Server]=DA.[ServerName]WHEREDA.DB_AppIDISNULLORDERBYD.[Server],D.DatabaseName这个查询的了局供应任何数据库的清单,这些SQLServer数据库发生于前次我更新使用元数据和服务器时,它不但是跨域的数据库创立举动的关照,也是努力于更新两个数据库来切合使用程序信息的数据清单。这个查询也合适SQLServerReportingServices呈报的数据表,而当我不在办公室时,SQLServerReportingServices呈报也为我供应了一个新的数据库到我的黑莓(BlackBerry)的一样平常关照。
  最初,我创立了以下存储程序,由此用任何新的数据库信息来兼并dbo.Applications表和dbo.Database_Applications表。它承受三个参数:服务器,数据库和使用程序。假如使用程序已不存在于dbo.Applications表中,它就会被增补。然后一个纪录被拔出到服务器/数据库/使用程序干系中的dbo.Applications表。
  CREATEPROCEDURE[dbo].[pAdd_Application]
  @ServerNamevarchar(50),
  @DatabaseNamevarchar(100),
  @ApplicationNamevarchar(100)
  AS--Addanynewdatabasescreated,
  butnotrecordedintherepository,totherepository
  UPDATEdbo.Database_Applications
  SETApplicationName=@ApplicationName
  WHEREServerName=@ServerName
  ANDDatabaseName=@DatabaseName
  ANDApplicationNameISNULL
  --Determineifthereisalreadyanapplication
  forthisdatabaseintherepository,ifnot,thenaddit
  IF(SELECTCOUNT(*)FROMdbo.Applications
  WHEREApplicationName=@ApplicationName)=0
  BEGININSERTINTOdbo.Applications(ApplicationName)
  VALUES(@ApplicationName)
  PRINTAddednewApplication:
  +@ApplicationName+toApplicationstable
  SELECT*FROMdbo.Applications
  WHEREApplicationName=@ApplicationName
  END--Listthenewrecordintherepository
  SELECTServerName,DatabaseName,ApplicationName
  FROMdbo.Database_Applications
  WHEREServerName=@ServerName
  ANDDatabaseName=@DatabaseName
  ANDApplicationName=@ApplicationName
  固然我能够很简单地把这个存储程序的实行整合为SQLServer集成服务(SSIS)程序包中的最初一步,而这个程序包可以组装我的存储数据库,但我选择不如许做,这是为了在我的情况里,我能亲切存眷环绕新的SQLServer数据库制造而睁开的举动。
“对于MySQL数据库,无论是在开发方面,还是支持方面,现在有大量强大的MySQL学习教程可以选择。每一个新手开发者可以轻松地使用MySQL数据库进行开发。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-19 05:28:14 | 只看该作者
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
再见西城 该用户已被删除
板凳
发表于 2015-1-27 22:47:01 | 只看该作者
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
只想知道 该用户已被删除
地板
发表于 2015-2-5 15:39:31 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
5#
发表于 2015-2-12 20:01:09 | 只看该作者
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
admin 该用户已被删除
6#
发表于 2015-3-3 08:45:41 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
莫相离 该用户已被删除
7#
发表于 2015-3-11 10:18:07 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
因胸联盟 该用户已被删除
8#
发表于 2015-3-18 09:12:30 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
柔情似水 该用户已被删除
9#
发表于 2015-3-25 19:33:12 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 01:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表