aspnet数据库连接
连接数据库文件
<addname="LocalSqlServer"connectionString="DataSource=.SQLExpress;IntegratedSecurity=True;AttachDBFilename=|DataDirectory|TimeTracker.mdf;UserInstance=true"/>
SqlConnectionStringBuilder实例化时,要用到connectionString,如:
=newSqlConnectionStringBuild(connectionString);
一、Data Source
SqlConnectionStringBuilder的DataSource属性,对应connectionString中的Data Source,“Data Source”可以由下列字符串代替:“server”,“address”,“addr”和“network address”。
Data Source=.SQLExpress也可以写成这样Data Source=(local)SQLExpress。
二、Integrated Security
SqlConnectionStringBuilder的IntegratedSecurity属性,对应connectionString中的Integrated Security,“Integrated Security”可以写成“trusted_connection”,为true时,使用当前的 Windows 帐户凭据进行身份验证,为false时,需要在连接中指定用户 ID 和密码。
三、AttachDBFilename
SqlConnectionStringBuilder的AttachDBFilename属性,对应connectionString中的AttachDBFilename,“AttachDBFilename”可以写成“extended properties”,“initial file name”。AttachDbFileName属性指定连接打开的时候动态附加到服务器上的数据库文件的位置。这个属性可以接受数据库的完整路径和相对路径(例如使用|DataDirectory|语法),在运行时这个路径会被应用程序的App_Data目录所代替。
四、User Instance
SqlConnectionStringBuilder的UserInstance属性,对应connectionString中的User Instance ,该值指示是否将连接从默认的 SQL Server Express 实例重定向到在调用方帐户之下运行并且在运行时启动的实例。UserInstance=true,在这种情况下,SQLServerExpress为了把数据库附加到新的实例,建立一个新的进程,在打开连接的用户身份下运行。在ASP.NET应用程序中,这个用户是本地的ASPNET帐号或默认的NetworkService,这依赖于操作系统。为了安全地附加非系统管理员帐号(例如ASP.NET帐号)提供的数据库文件,建立一个独立的SQLServer用户实例是必要的。
示例:
多数都是在CONFIG文件里写入连接字符串
<appSettings>
<!--连接数据库服务器-->
<addkey="CRMonnection"value="DataSource=Sufei;InitialCatalog=CRM;IntegratedSecurity=false;uid=nouter;Password=123456"></add>
<addkey="ForumName"value="luohe"/>
<!--连接数据库文件-->
<addkey="CRMConnectionString"value="DataSource=.SQLEXPRESS;AttachDbFilename=|DataDirectory|CRM.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True"/>
</appSettings>
然后,在程序里再读取连接字符串到变量
System.Configuration.ConfigurationSettings.AppSettings["CRMConnectionString"];
B. asp.net网站无法连接到数据库
1、导入命名空间
using System.Data.SqlClient; //连接SQLServer 数据库专用
2、创建连接
SqlConnection lo_conn = New SqlConnection("Server=服务器名字或IP;Database=数据库名字;uid=用户名;pwd=密码");
3、打开连接,第2步并没有真正连接数据库
lo_conn.Open(); //真正与数据库连接
4、向数据库发送SQL命令要使用SqlCommand:
SqlCommand lo_cmd = new SqlCommand(); //创建命令对象
lo_cmd.CommandText = "这里是SQL语句"; //写SQL语句
lo_cmd.Connection = lo_con; //指定连接对象,即上面创建的
5、处理SQL命令或返回结果集
lo_cmd.ExecuteNonQuery(); //这个仅仅执行SQL命令,不返回结果集,实用于建表、批量更新等不需要返回结果的操作。
SqlDataReader lo_reader = lo_cmd.ExecuteReader();//返回结果集
6、以数据集的方式反回结果集
SqlDataAdapter dbAdapter = new SqlDataAdapter(lo_cmd); //注意与上面的区分开
DataSet ds = new DataSet(); //创建数据集对象
dbAdapter.Fill(ds); //用返回的结果集填充数据集,这个数据集可以被能操作数据的控件DataBind
7、关闭连接
lo_conn.Close();
C. 如何让您的ASP.NET数据库连接字符串是安全的
一、Data 的DataSource属性,对应connectionString中的Data Source,“Data Source”可以由下列字符串代替:“server”,“address”,“addr”和“network address”。Data Source=.\SQLExpress也可以写成这样Data Source=(local)\SQLExpress。
二、Integrated 的IntegratedSecurity属性,对应connectionString中的Integrated Security,“Integrated Security”可以写成“trusted_connection”,为true时,使用当前的 Windows 帐户凭据进行身份验证,为false时,需要在连接中指定用户 ID 和密码。
三、的AttachDBFilename属性,对应connectionString中的AttachDBFilename,“AttachDBFilename”可以写成“extended properties”,“initial file name”。AttachDbFileName属性指定连接打开的时候动态附加到服务器上的数据库文件的位置。这个属性可以接受数据库的完整路径和相对路径(例如使用|DataDirectory|语法),在运行时这个路径会被应用程序的App_Data目录所代替。
四、User 的UserInstance属性,对应connectionString中的User Instance ,该值指示是否将连接从默认的 SQL Server Express 实例重定向到在调用方帐户之下运行并且在运行时启动的实例。UserInstance=true,在这种情况下,SQLServerExpress为了把数据库附加到新的实例,建立一个新的进程,在打开连接的用户身份下运行。在ASP.NET应用程序中,这个用户是本地的ASPNET帐号或默认的NetworkService,这依赖于操作系统。为了安全地附加非系统管理员帐号(例如ASP.NET帐号)提供的数据库文件,建立一个独立的SQLServer用户实例是必要的。
D. sql2005中asp.net链接数据库,用windows验证,怎么做。
SqlConnection
con
=
new
SqlConnection("server=.;Integrated
Security=SSPI;database=pubs");
1、在SQL
Server中,选择安全性-->登录
2、右键选择“新建登录”
3、点击名称后的浏览按钮,添加用户ASPNET
4、个别情况下,需要用户在“服务器角色”和“数据库访问中”对添加入的对象设置对应权限,这样,就可以用上述代码在
ASP.NET
中使用WINDOWS验证方式连接SQL
SERVER数据库
E. asp.net与数据库连接出错的问题
VS只自带了数据库引擎,没有带管理器,要自己到微软网站下载Sql Server Management Studio Express.然后按下面的步骤做。
1.配置SQLServer外围应用服务器,开启SQL2005远程连接功能:
操作方式如下,点击“配置工具”->“SQLServer外围应用配置器”,然后在打开的窗口中选择“服务和连接的外围应用配置器”->然后选择Database Engine节点下的 “远程连接”,选择“本地连接和远程连接”,同时选择“同时使用TCP/IP和named pipes”,确定后然后需要重新启动数据库服务就可以了。
2.把登陆设置改为SQLServer 和 Windows 身份验证模式,具体设置如下:
打开SQLServer Management Studio管理器,点击服务器上面右键然后查看属性,在安全性选项里面对服务身份验证选择“SQLServer 和 Windows 身份验证模式”。
3.修改SQLServer sa的密码,体设置如下:
在SQLServer Management Studio管理器中,展开服务器上的“安全性”->登陆名->在sa帐号上点右键属性,这样在“常规”的选择页中更改sa登陆帐号的密码。注意SQLServer2005中,不允许密码设置简单,否则会通不过。然后在选择页的“状态”的登录修改为启用。
4.数据库连接字符串:
数据库连接字符串有很多种,如:
Data Server=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sapassSql
Data Server=服务器名\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password= sapassSql
Data Server=localhost\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password= sapassSql
Data Server=.;Initial Catalog=Northwind;User ID=sa;Password= sapassSql
Data Server=服务器名;Initial Catalog=Northwind;User ID=sa;Password= sapassSql
具体的选择是和SQLServer2005的版本有关系,如果是SQLServer 2005 Express版本,则必须要有“\SQLEXPRESS”,因此如果字符串是定义为一个变量的时候应该写成Server=. \\SQLEXPRESS。
5.在.net2.0 Framework中注册SQLServer数据库:
找到.net2.0 Framework的安装路径,一般安装在 “C:\Windows\Microsoft.NET\Framework\v2.0.50727”目录下,然后在DOS中在指定目录下运行“ASPNET_REGSQL”指令,就会出现ASP.NETSQLServer安装向导,点击“下一步”,然后选择“为应用程序服务配置SQLServer”,然后直接点击下一步,就会完成SQLServer注册界面。我们就会看到NorthWind数据库下面多了几张表。
6.设置web.config文件:
在应用程序中的web.config文件添加如下数据库连接的配置:
程序代码:
<connectionStrings>
<add name="ConnectionSqlServer" connectionString="Data Source=.\SQL2005;Initial Catalog=Test2008;User ID=sa;PWD=sasasasa" providerName="System.Data.SqlClient"/>
</connectionStrings> 这样我们便在Visual Studio 2005中可以轻松的调用SQLServer的数据连接了。
现在我们来对上面所做的步骤来测试数据的连接,我们打开Visual Studio 2005,在视图的“服务器资源管理器”来添加SQLServer 2005的连接,通过输入服务器名称和对应的SQLServer身份验证的sa用户名密码后,选取对应的数据库,然后点击“测试连接”,就会成功的连接到数据库了。
如果sa无法登录,检查sa的状态属性中,是否启用了登录
F. ASP.NET如何连接数据库
可以这样来连接。如代码所示:
SqlConnection con = new SqlConnection("server=.;database=MyDB;uid=sa;pwd=;");
con.Open();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select * from 表名", con);
DataSet myds = new DataSet();
sda.Fill(myds);
con.Close();
GridView1.DataSource = myds;
GridView1.DataBind();
当然,你也可以把连接数据库的代码写在Web.config文件里,那样会更好。
在这里我是绑定到了GridView控件里,所以你的页面要有GridView控件,绑定在Table控件与它一样。
注意要在程序的顶端引入命名空间:using System.Data.SqlClient;
如果还不懂可以Hi我。
G. IIS 配置ASP.NET 连接数据库问题
1、依次点击“开始”-“运行”。
2、在“运行”栏内输入“c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis.exe
-i
”(不含引号),然后点“确定”按钮。3、出现的cmd窗口中显示“开始安装asp.net
xxx”等内容,等待这个窗口自动关闭。好了,到这里一般问题就解决了,如果尚未解决请参考下面的文章。------------------------------------装了vs2005再装iis,结果出了些小问题访问iis元数据库失败思考可能是次序出了问题,解决1、打开cmd,进入
c:\windows\microsoft.net\framework\v2.0.507272、输入
aspnet_regiis.exe
-i稍等片刻,注册成功就解决问题了。接着还会出现“未能创建
mutex”的问题解决方法:1、先关闭你的vs2005。2、打开
c:\windows\microsoft.net\framework\v2.0.50727\temporary
asp.net
files
找到你刚才调试的程序的名字的目录删除它。3、关闭iis服务器,重开一次。4、用ie浏览一下你的程序,问题解决
H. ASP.NET连接数据库有哪几种方法
连接Access
首先看一个例子代码片断:
程序代码:
--------------------------------------------------------------------------------
using
System.Data;
using
System.Data.OleDb;
......
string
strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data
Source=C:\BegASPNET\Northwind.mdb";
OleDbConnection
objConnection=new
OleDbConnection(strConnection);
......
objConnection.Open();
objConnection.Close();
......
--------------------------------------------------------------------------------
解释:
连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!
strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源.
"Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft
Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的.
"Data
Source=C:\BegASPNET\Northwind.mdb"是指明数据源的位置,他的标准形式是"Data
Source=MyDrive:MyPath\MyFile.MDB".
ps:
1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符.
2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:
strConnection+="Data
Source=";
strConnection+=MapPath("Northwind.mdb");
这样就可以省得你写一大堆东西了!
3.要注意连接字符串中的参数之间要用分号来分隔.
"OleDbConnection
objConnection=new
OleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道.
"objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成.其余操作(插入,删除...)请参阅相关书籍
连接SQL
Server
例子代码片断:
程序代码:
--------------------------------------------------------------------------------
using
System.Data;
using
System.Data.SqlClient;
...
string
strConnection="user
id=sa;password=;";
strConnection+="initial
catalog=Northwind;Server=YourSQLServer;";
strConnection+="Connect
Timeout=30";
SqlConnection
objConnection=new
SqlConnection(strConnection);
...
objConnection.Open();
objConnection.Close();
...
--------------------------------------------------------------------------------
解释:
连接SQL
Server数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数.
首先,连接SQL
Server使用的命名空间不是"System.Data.OleDb",而是"System.Data.SqlClient".
其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):
"user
id=sa":连接数据库的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa".
"password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
这里注意,你的SQL
Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL
Server设置为Windows登录,那么在这里就不需要使用"user
id"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
"initial
catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
"Server
=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data
Source","Address","Addr".如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
"Connect
Timeout=30":连接超时时间为30秒.
在这里,建立连接对象用的构造函数为:SqlConnection.
其余的就和Access没有什么区别了!
I. ASP.net如何对数据库连接字符串进行加密和解密
给方法:开始--->运行,输入cmd,接着输入以下内容
加密:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径"
解密:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "你的Web项目路径"
.NET为版本的路径自行修改,其中connectionStrings连接字符串的名称。
需要注意的是,加密过程中使用了一个基于本机的密钥,这意味着解密过程必须在同一台计算机上完成。如果是将加密后的Web.config文件移动到其它计算机上,那么Web.config文件中的连接字符串将不能够正常解密。
J. 在asp.net中,无法添加数据库链接,怎么解决呢
1、打开SDK 命令提示(所有程序——Microsoft .NET Framework SDK v2.0——SDK 命令提示。也可打开VS的命令提示),输入aspnet_regsql,弹出ASP.NET SQL Server 安装向导,点下一步,点“为应用程序服务配置 SQL Server”,点下一步,数据库用<默认>(aspnetdb),点下一步,完成。
2、打开Visual Studio 2005,依次:工具-->选项-->数据库工具-->数据连接-->SQL Server实例名称(默认为空),改为你的服务器名称(默认实例的名称即为你的计算机名称)。
3、还是Visual Studio 2005,工具-->连接到数据库-->服务器名(输入刚才的服务器),可以按你要求选择Windows或SQL Server身份验证,然后数据库选择刚才的aspnetdb。测试OK后,点“高级”,复制对话窗口的最下面一行语句(比如,如果你之前选择“使用SQL Server身份验证”,则复制出来的语句类似为Data Source=Server;Initial Catalog=aspnetdb;User ID=sa)
4、打开IIS:默认网站-->属性-->ASP.NET-->编辑全局配置-->常规-->点击“连接字符串管理器”的“LocalSqlServer”后,点编辑,然后清除里面的字符串,再粘贴第3步所复制的字符串,如果你第3步是选择SQL Server身份验证的,还需在后边再手动输入“;Password=sa”,当然,后面的sa用你的密码替换,然后确定,如果第3步是Windows身份验证的,则粘贴后直接确定保存即可 -->应用。(如果第3步是选择SQL Server身份验证的,则修改后的连接字符串类似为Data Source=Server;Initial Catalog=aspnetdb;User ID=sa;Password=sa)
5、还是在IIS:默认网站-->属性-->ASP.NET-->编辑全局配置-->身份验证-->选定"启用角色管理"-->确定。
按照上面的步骤,到第2步时就无法完成,提示sql server不存在。突然想到,会不会sql server express服务还没启动?打开服务管理,果然。手动启动它,又提示启动失败,请查看日志。打开管理工具中的事件查看器,错误信息:
文件 "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\mastlog.ldf" 已压缩,但未驻留在只读数据库或文件组中。必须将此文件解压缩。