很鬱悶,弄了好長時間也沒連接上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 不存在或訪問被拒絕。
源錯誤:
|
源文件: e:/developor/ing/vvv/dotnettest/database/sqlconn.aspx.cs 行: 32
堆棧跟蹤:
|
“/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();
...