瑞鲁手机APP下载网_专注推荐好用的手机APP和游戏APP

Data

避免使用DSN连接数据库

查看人次:0摘自:手机APP下载网

plsql developer是一款集成的开发系统,它主要是针对于Oracle数据库的存储进行开发,这款软件能充分的发挥出Oracle程序优势。下面小编为大家介绍一下plsql developer怎么连接数据库的

是否仍旧在使用ODBC系统或文件DSN连接数据库?请用OLEDB提供者代替它,这是一种速度更快而且不需要使用DSN的数 据库连接技术。使用OLEDB提供者,你不必再为了创建系统DSN恳求ISP(或数据库管理员/网站管理员),也不必为了网站 文件位置的变化而修改配置。 问: 我看到过大量通过数据资源名字(DSN)连接数据库的例子,不过我现在想不通过DSN连接数据库。在ASP中可以实现 这一点吗?能否举几个具体的例子说明?我希望新的连接方法不依赖于系统DSN,但又可以在数据库连接串中指定驱动程 序、服务器名字、数据库、数据库账号和密码。 答: 如果你使用的是SQL Server 7,请使用下面的数据库连接串: strConnString = DSN='';DRIVER={SQL SERVER};" & _ UID=myuid;PWD=mypwd;" & _ DATABASE=MyDb;SERVER=MyServer;" 其中最重要的参数在于“DRIVER=”部分。如果你希望绕过ODBC,直接通过OLEDB访问SQL Server(一般来讲这种方法 速度更快),请使用下面这种连接串: strConnString ="Provider=SQLOLEDB.1;Password=mypassword;" & _ Persist Security Info=True;User ID=myuid;" & _ Initial Catalog=mydbname;" & _ Data Source=myserver;Connect Timeout=15" 如果你要使用数据库连接串,但又不熟悉OLEDB提供者的连接串语法,请使用Visual Basic的数据环境设计器或ADO数 据控件创建一个,然后把它拷贝出来用于ADO连接对象就可以了。在立即窗口中,输入命令? dataenvironment1.connection1.ConnectionString可以得到连接串的代码。请注意Microsoft Access连接串的语法有所不 同,参见《Syntax for DSN-Less Connection for MS Access》 参见:《ASP性能优化指南》中的数据库连接部分。 2、记录集中记录总数的计算 1062 刚开始在ASP页面中使用记录集的时候可能经常会遇到这个问题。如果你想访问记录集中的数据,首先必须保证记录 集中确实包含数据。请记住,如果记录集中没有数据,系统将显示非常不友好的运行时错误信息。你可以使用下面的代码 去解决这种问题。 问: 我已经有数年的VB经验,但刚刚开始学习ASP和VBScript。现在我要打开一个Access数据库,计算其中的记录总数并 在Web页面中显示这些信息。数据库的名字叫sean.mdb,其中包含一个people表,表中有三个记录。然而,当我运行脚本时 它总是说有-1个记录。 是否可以告诉我下面的代码什么地方出错了? < % Set objConn = Server.CreateObject("ADODB.Connection") Set objRst = Server.CreateObject("ADODB.Recordset") objConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= & Server.Mappath("seannewelldbsean.mdb")) strSQL = SELECT * FROM people" objRst.Open strSQL, objConn Response.write( < P >" & strSQL & < /P >" ) Response.write("< H2 >There are & objRst.RecordCount & People in the database< /H2 >") If objRst.RecordCount > 0 Then objRst.MoveFirst Do While Not objRst.EOF Response.write( Name = & objRst.fields(0) ) objRst.MoveNext Loop else Response.write( It's EMPTY!" ) End If objRst.Close Set objRst = Nothing objConn.Close Set objConn = Nothing % > 答: 在低版本的MDAC中RecordCount属性返回-1。请在你的服务器上把MDAC文件更新到最新的版本,最新的MDAC文件可以 在www.microsoft.com/data找到。 如果Web服务器由ISP管理而你又无权配置它,无法升级MDAC文件,那么必须修改代码。 原来使用下面的代码检查记录集中是否有记录: If objRst.RecordCount > 0 Then ... 请改用下面的代码: If objRst.BOF and objRst.EOF Then ' 记录集为空 Else Do While not objRst.EOF ' 处理记录集 objRst.MoveNext Loop End If 2000年06月30日更新,新西兰的Daryl Egarr说: 可以看出,读者提问中的代码并没有错误。问题在于“在低版本的MDAC中RecordCount属性返回-1”,这一判断本身 并没有错误,然而从提问内容来看作者不应该作出这种假定,因为原问题中没有任何一行代码意味着使用了低版本的 MDAC。 作者考虑问题的方向不对,问题的要点在于并非所有的游标类型都支持所有的属性和方法(不管采用哪种数据库系 统)。问题中代码出现错误的真正原因在于使用默认的CursorLocation时: Recordset.CursorLocation = adUseServer RecordCount属性只有在记录集的CursorType为1或者3(即adOpenKeyset,adOpenStatic)时才是可用的。出现错误 的代码没有指定CursorType,也就是使用了0类型的游标(即adOpenForwardOnly,这是速度最快的游标类型),此时对 RecordCount的引用将一直返回0。 解决问题的方法很简单,只要把原来代码中的: objRst.Open strSQL, objConn 改成: objRst.Open strSQL, objConn ,1

相关文摘:软件资讯 windows
标题名称:《Data》
本文网址:https://www.sdruilu.cn/news/tpart-1793.html