ASP.NET連接數據庫Access和MS SQL

很鬱悶,弄了好長時間也沒連接上sql,不知道是什麼原因:

下面是代碼

先包含命名空間:

using System.Data;
using System.Data.SqlClient;

再在page_load裏寫入下面的代碼:

   string strConn="data source=localhost;Initial Catalog=northwind;User Id=sa;Pwd=mssqlfs;Integrated Security=SSPI";
   SqlConnection sqlConn=new SqlConnection();
   sqlConn.ConnectionString=strConn;
   sqlConn.Open();

   Label1.Text="數據源:"+sqlConn.DataSource+"<br>"+
    "數據庫:"+sqlConn.Database+"<br>"+
    "當前狀態:"+sqlConn.State;

   sqlConn.Close();

這可是看着書上的例程寫的,應該沒錯了.但是,每次打開都是錯誤.

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.Data.SqlClient.SqlException: SQL Server 不存在或訪問被拒絕。

源錯誤:

行 30: 			SqlConnection sqlConn=new SqlConnection();
行 31: 			sqlConn.ConnectionString=strConn;
行 33: 
行 34: 			Label1.Text="數據源:"+sqlConn.DataSource+"<br>"+

源文件: e:/developor/ing/vvv/dotnettest/database/sqlconn.aspx.cs    行: 32

堆棧跟蹤:

[SqlException: SQL Server 不存在或訪問被拒絕。]
   System.Data.SqlClient.SqlConnection.Open() +761
   DotNetTest.database.sqlconn.Page_Load(Object sender, EventArgs e) in e:/developor/ing/vvv/dotnettest/database/sqlconn.aspx.cs:32
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +29
   System.Web.UI.Page.ProcessRequestMain() +724

“/DotNetTest”應用程序中的服務器錯誤。

SQL Server 不存在或訪問被拒絕。

 


版本信息: Microsoft .NET 框架版本:1.0.3705.0; ASP.NET 版本:1.0.3705.0

我的sql是8.0版本的,sql本機服務器的註冊屬性裏,採用的是windows身份驗證;安全性裏的身份驗證是sql server和windows.(這些都是看往山寫的,改的.)

哎呀,最後,在社區裏問了問,把localhost改成(local)就可以了.....真不知道爲什麼.

-----------------------------------------------------------------------------------------------------------

哎,試試連接Access吧.

   string sqlStr="Provider=Microsoft.Jet.OleDb.4.0;Data source="+Server.MapPath("dotnettest.mdb");
   OleDbConnection conn=new OleDbConnection(sqlStr);
   conn.Open();
   Label1.Text="Database:"+conn.Database+"<br>"+
    "Datasource:"+conn.DataSource+"<br>"+
    "State:"+conn.State;
   conn.Close();

高興啊,看到state:open了..呵呵,

關於連接sql我會盡快解決呵呵

---------------------------------------------------------------------------------------------

下面是在網上找的,感覺對於我這樣的新手很有用就粘貼下來珍藏了.(加粗的地方,我認爲我應該注意)

連接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();

...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章