ASP NET 6种常用数据库的连接方法
- 格式:doc
- 大小:36.50 KB
- 文档页数:8
/download/info /1701.htm/Program/Asp/112 TM562008.html<%dim ConnStringset conn=server.CreateObject("adodb.connection")ConnString="provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("#kucun.mdb") conn.open ConnString'连接数据库%>2000下使用asp访问数据库时,在conn.open始终发生8007007f错误,重装IIS和access均得不到解决。
我在网上查到的解决办法是将oledb32.dll 解压到以下两个目录,然后重启服务器:1) C:\WINNT\system32\dllCache2) C:\Program Files\Common Files\System\OLE DB<%dim conn,exec,rsset conn=server.createobject("adodb.connetion")conn.open "driver={microsoft access driver(*.mdb)};dbq="&server.mappath("show.mdb")exec="select * from list"set rs=server.createobject("adodb.recordset")rs.open,exec,conn,1,1%>ASP中连接数据库的错误解决新解决办法Provider 错误80004005 未指定的错误的新解决办法.这两天运行的好好的点击统计程序突然出错了,显示的就是:------------------------------------------Provider 错误80004005未指定的错误------------------------------------------在网上找了一大圈,发现大家提供的办法我都试过了,没有一个有作用的.方法有以下:1.开始运行regsvr32 jscript.dll (命令功能:修复Java动态链接库)开始运行regsvr32 vbscript.dll(命令功能:修复VB动态链接库)开始运行iisreset (命令功能:重启IIS)开始运行msjetoledb40.dll2.给系统临时文件夹%windir%/temp/ 加上IUSR_COMPUTER 用户的读写权限3.ASP连接Access数据库的时候,如果频繁刷新页面,出现80004005 未指定错误,数据库不能连接,但是过大约10多分钟后再刷新就可以连接。
中各种连接数据库的配置的⽅法及json数据转换⼀、数据库连接语句1、MSSQL数据库链接⽰例<connectionStrings><add name="Conn" connectionString="server=.;database=demo;uid=sa;pwd=123456" providerName="System.Data.SqlClient"/></connectionStrings>2、Access 2003数据库链接⽰例:"{0}"代表根⽬录<connectionStrings><add name="Conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}App_Data/demo.mdb" providerName="System.Data.OleDb"/></connectionStrings>Access 2007或以上版本的链接<connectionStrings><add name="Conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}App_Data/demo.mdb" providerName="System.Data.OleDb"/></connectionStrings>3、Oracle 数据库链接⽰例<connectionStrings><add name="Conn" connectionString="Provider=MSDAORA;Data Source=demo;User ID=sa;Password=123456;" providerName="System.Data.OracleClient"/> </connectionStrings>4、SQLite 数据库链接⽰例<connectionStrings><add name="Conn" connectionString="Data Source={0}App_Data/demo.db;failifmissing=false" providerName="System.Data.SQLite"/></connectionStrings>5:MySQL数据库链接⽰例<connectionStrings><add name="Conn" connectionString="host=127.0.0.1;Port=3306;Database=mysql;uid=sa;pwd=12346" providerName="MySql.Data.MySqlClient"/></connectionStrings>⼆、json数据转换using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Reflection;using System.Text;using System.Web;using System.Web.Script.Serialization;namespace Role.DAL{public class Json{public Json() { }/// <summary>///将datatable数据转换成JSON数据, 字符串拼接写成的/// </summary>/// <param name="jsonName">json名称。
第五课:自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK 中面向数据库编程的类库和微软的MDAC(数据访问组件)来实现的。
数据访问技术是任何实际应用程序的核心部分。
是一个功能强大的数据接口程序。
通过所提供的对象,再配合SQL语句就可以访问数据库内的数据,而且凡是ODBC或OLE DB接口访问的数据库(如Dbase、FoxPro、Excel、Access、SQL Server、Oracle等),也可以通过来访问。
第一节:的简介1.1.1、定义:的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft 技术中访问数据。
之所以使用名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。
1.1.2、:在创建数据库后,需要通过将数据库连接到应用程序中。
如图所示为 连接数据库与应用程序的过程模拟图。
模型中包含了能够有效地管理数据的组件类。
的根命名空间是System.Data,的主要组件是数据连接、数据适配器和数据集,它们包含了对数据库进行操作的大部第二节:的构成 3.0 用于访问和操作数据的两个主要组件是.NET Framework 数据提供程序和DataSet。
(1) .NET Framework 数据提供程序是专门为数据操作以及快速、只读访问数据而设计的组件。
Connection对象提供到数据源的连接。
使用Command对象可以访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。
DataReader可从数据源提供高性能的数据流。
最后,DataAdapter在DataSet对象和数据源之间起到桥梁作用。
DataAdapter使用Command对象在数据源中执行SQL 命令以向DataSet中加载数据,并将对DataSet中数据的更改协调回数据源。
(2) DataSet: DataSet 的设计已明确指出它可独立于任何资料来源外而存取资料。
获取真正的客户端IP地址的6种⽅法Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使⽤代理服务器来访问,那取到的就是代理服务器的IP地址,⽽不是真正的客户端IP地址。
要想透过代理服务器取得客户端的真实IP地址,就要使⽤ Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。
不过要注意的事,并不是每个代理服务器都能⽤ Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些⽤此⽅法读取到的仍然是代理服务器的IP。
还有⼀点需要注意的是:如果客户端没有通过代理服务器来访问,那么⽤ Request.ServerVariables("HTTP_X_FORWARDED_FOR") 取到的值将是空的。
因此,如果要在程序中使⽤此⽅法,可以这样处理:......userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")......://⽅法⼀erHostAddress;//⽅法⼆HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];//⽅法三string strHostName = .Dns.GetHostName();string clientIPAddress = .Dns.GetHostAddresses(strHostName).GetValue(0).ToString();//⽅法四(⽆视代理)HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];://⽅法五var ip = '<!--#echo var="REMOTE_ADDR"-->';alert("Your IP address is "+ip);//⽅法六(⽆视代理)复制代码代码如下:function GetLocalIPAddress(){var obj = null;var rslt = "";try{obj = new ActiveXObject("rcbdyctl.Setting");rslt = obj.GetIPAddress;obj = null;}catch(e){//}return rslt;}22⽇添加:来⾃印度的MCT Maulik Patel提供了⼀种服务端的解决⽅案,很好:复制代码代码如下:if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // using proxy{ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.}else// not using proxy or can't get the Client IP{ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP. }:1. 有些代理是不会发给我们真实IP地址的2. 有些客户端会因为“header_access deny”的安全设置⽽不发给我们IPserverVariables参数response.write(request.serverVariables("varName"))'varName就是需测的数据ALL_HTTP客户端发送的所有HTTP标头,他的结果都有前缀HTTP_。
ASP NET动态网页设计与制作教案一、课程简介1.1 课程背景随着互联网的普及和发展,动态网页技术越来越受到人们的关注。
ASP NET作为Microsoft公司推出的一种基于.NET框架的动态网页技术,以其强大的功能和灵活的编程方式,已经成为当前Web开发的主流技术之一。
1.2 课程目标1.3 课程内容本课程共分为十五个章节,主要内容包括:ASP NET概述、Visual Studio 2024的使用、C语言基础、ASP NET控件、数据库连接与操作、用户身份验证、文件与、AJAX技术、LINQ技术、Web服务、站点管理、网站发布与维护等。
二、第一章:ASP NET概述2.1 教学目标让学生了解ASP NET的发展历程、特点和应用领域,掌握ASP NET的基本架构。
2.2 教学内容ASP NET的发展历程ASP NET的特点ASP NET的应用领域ASP NET的基本架构2.3 教学方法采用讲授法,结合案例分析,使学生了解和掌握ASP NET的基本概念。
2.4 教学资源教材:《ASP NET动态网页设计与制作》案例:ASP NET网站实例2.5 教学评价通过课堂讲解和案例分析,检查学生对ASP NET基本概念的理解程度。
三、第二章:Visual Studio 2024的使用3.1 教学目标使学生熟悉Visual Studio 2024集成开发环境,掌握基本的操作方法。
3.2 教学内容Visual Studio 2024的安装与启动熟悉Visual Studio 2024界面布局创建ASP NET项目编写、运行和调试代码3.3 教学方法采用操作演示和步骤讲解相结合的方式,引导学生掌握Visual Studio 2024的基本使用方法。
3.4 教学资源教材:《Visual Studio 2024入门与应用》演示视频:Visual Studio 2024基本操作演示3.5 教学评价通过操作练习和课堂提问,检验学生对Visual Studio 2024使用方法的掌握情况。
ASP连接数据库的种方法1.使用A连接对象:ASP可以使用A连接对象连接数据库,其中A代表了不同的对象类型,比如ADODB.Connection、ADODB.Recordset等。
这是最常见的连接数据库的方法之一2.使用ODBC连接:ASP支持通过ODBC(Open Database Connectivity)连接数据库。
ODBC是一种标准接口,可以连接不同类型的数据库。
使用ODBC连接数据库需要先创建一个数据源,然后通过数据源名称连接数据库。
3.使用DSN连接:DSN(Data Source Name)是ODBC的一种连接方式,在ASP中可以使用DSN连接数据库。
DSN是一种定义了数据库连接属性的文件,ASP可以使用该文件中的连接信息连接数据库。
4. 使用DSN-less连接:DSN-less连接是指不依赖DSN来连接数据库,而是直接使用连接字符串来连接数据库。
连接字符串包括了数据库的连接属性,如服务器地址、数据库名称、用户名、密码等。
5.使用连接池连接:连接池是一种连接数据库的技术,它利用缓存的连接对象提高数据库连接的性能。
ASP可以使用连接池来连接数据库,提高数据库查询操作的效率。
6.使用DSO连接:DSO(Data Shaping Object)是一种用于连接数据库的COM对象,可以使用它来连接数据库并执行查询操作。
DSO可以通过执行SQL语句或者使用分页功能,方便地进行数据库操作。
7. 使用Excel连接:ASP可以连接Excel文件作为数据库,利用Excel的数据存储和查询功能。
可以通过ADO连接Excel文件,并执行查询操作。
8. 使用Access连接:ASP可以连接Access数据库,Access是一个轻量级的数据库管理系统,支持SQL语言和ODBC连接。
可以通过ADO连接Access数据库,并进行增删改查等操作。
9. 使用SQL Server连接:ASP可以连接Microsoft SQL Server数据库,SQL Server是一种关系型数据库管理系统。
与Core中页⾯传值的⼏种形式和⽅法简介在开发 以及 Core过程中主要使⽤的页⾯传值的⽅法有以下⼏种:Request.QueryString[] Request.Form[] Session,Cookie Cache Application, Server.TransferDatabase HttpContext的Item属性 Files DataBase等1、Request.QueryString代码如下:protected void getQueryString_Click(object sender, EventArgs e){string QueStr = Request.QueryString["name"];Response.Write(QueStr);}分析:Request.QueryString 获取http查询字符床变量集合。
有两重载即Request.QueryString[string name]和Request.QueryString[int index]两种其中Request.QueryString主要获取url中的“?”之后的参数,例如url: a.aspx?name="nueq",则 Reuqest.QueryString["name"]的值为“neuq”。
2、Request.Form代码如下:protected void getQueryString_Click(object sender, EventArgs e){string strQueForm = Request.Form["TextBox1"];Response.Write(strQueForm);}分析:Request.Form获取窗体变量集合有两重载(⼀般Form表单post提交⾄后台的数据)。
即Request.Form[string name] 和Request.Form[int index],获取表单指定名称的参数值。
1.C#连接连接Access程序代码:using System.Data;using System.Data.OleDb;..stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;";strConnection+=@"DataSource=C:BegASPNETNorthwind.mdb";OleDbConnectionobjConnection=new OleDbConnection(strConnection);..objConnection.Open();objConnection.Close();解释:连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源."Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是MicrosoftJet引擎,也就是Access中的数据引擎,就是靠这个和Access的数据库连接的."DataSource=C:\BegASPNET\Northwind.mdb"是指明数据源的位置,他的标准形式是"DataSource=MyDrive:MyPath\MyFile.MDB".PS:1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符.2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:strConnection+="DataSource=";strConnection+=MapPath("Northwind.mdb");这样就可以省得你写一大堆东西了!3.要注意连接字符串中的参数之间要用分号来分隔."OleDbConnection objConnection=newOleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道."objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成.2.C#连接SQL Server程序代码:usingSystem.Data;using System.Data.SqlClient;..string strConnection="user id=sa;password=;";strConnection+="initial catalog=Northwind;Server=YourSQLServer;";strConnection+="Connect Timeout=30";SqlConnectionobjConnection=new SqlConnection(strConnection);..objConnection.Open();objConnection.Close();解释:连接SQL Server数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数.首先,连接SQL Server使用的命名空间不是"System.Data.OleDb",而是"System.Data.SqlClient".其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):"userid=sa":连接数据库的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa"."password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=". 这里注意,你的SQLServer必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQLServer设置为Windows登录,那么在这里就不需要使用"userid"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录. "initialcatalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind"."Server=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data Source","Address","Addr".如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址."Connect Timeout=30":连接超时时间为30秒.在这里,建立连接对象用的构造函数为:SqlConnection.3.C#连接Oracle程序代码:using System.Data.OracleClient;using System.Data;//在窗体上添加一个按钮,叫Button1,双击Button1,输入以下代码private voidButton1_Click(object sender, System.EventArgs e){stringConnectionString="Data Source=sky;user=system;password=manager;";//写连接串OracleConnection conn=new OracleConnection(ConnectionString);//创建一个新连接try{conn.Open();OracleCommandcmd=conn.CreateCommand();mandText="select * fromMyTable";//在这儿写sql语句OracleDataReaderodr=cmd.ExecuteReader();//创建一个OracleDateReader对象while(odr.Read())//读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了{Response.Write(odr.GetOracleString(1).ToString());//输出字段1,这个数是字段索引,具体怎么使用字段名还有待研究}odr.Close();}catch(Exception ee){Response.Write(ee.Message); //如果有错误,输出错误信息}finally{conn.Close(); //关闭连接}}4.C#连接MySQL程序代码:using MySQLDriverCS;// 建立数据库连接MySQLConnection DBConn;DBConn = new MySQLConnection(newMySQLConnectionString("localhost","mysql","root","",3306).AsString);DBConn.Open();// 执行查询语句MySQLCommand DBComm;DBComm = new MySQLCommand("select Host,User from user",DBConn);// 读取数据MySQLDataReader DBReader= DBComm.ExecuteReaderEx();// 显示数据try{while (DBReader.Read()){Console.WriteLine("Host ={0} and User = {1}", DBReader.GetString(0),DBReader.GetString(1)); }}finally{DBReader.Close();DBConn.Close();}//关闭数据库连接DBConn.Close();5.C#连接IBM DB2程序代码:OleDbConnection1.Open();//打开数据库连接OleDbDataAdapter1.Fill(dataSet1,"Address");//将得来的数据填入dataSetDataGrid1.DataBind();//绑定数据OleDbConnection1.Close();//关闭连接//增加数据库数据在WebForm上新增对应字段数量个数的TextBox,及一个button,为该按键增加Click响应事件代码如下:mandText = "INSERTsintosADDRESS(NAME, EMAIL, AGE, ADDRESS) VALUES('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"')";OleDbInsertCommand1.Connection.Open();//打开连接OleDbInsertCommand1.ExecuteNonQuery();//执行该SQL语句OleDbInsertCommand1.Connection.Close();//关闭连接6.C#连接SyBase程序代码: (OleDb)Provider=Sybase.ASEOLEDBProvider.2;Initial Catalog=数据库名;UserID=用户名;Data Source=数据源;Extended Properties="";Server Name=ip地址;Network Protocol=Winsock;Server Port Address=5000;。