public partial class _Default : System.Web.UI.Page 
{
    protected void Button1_Click(object sender, EventArgs e)
    {      
    try 
    {   
     //创建一个 SqlConnection对象   
        string strCon = "Integrated Security=SSPI;Initial Catalog='数据库';Data Source=’主机名’";   
     SqlConnection myConn = new SqlConnection ( strCon ) ;       
     string strCom = " SELECT * FROM 基本信息" ;
        //创建一个 DataSet对象   
     DataSet myDataSet = new DataSet ( ) ;   
     myConn.Open ( ) ;   
     SqlDataAdapter myCommand = new SqlDataAdapter ( strCom , myConn ) ;   
     myCommand.Fill ( myDataSet , "基本信息" ) ;   
     myConn.Close ( ) ;       //关闭连接  
     Label1.Text="本地SQL数据库连接成功";  
    }   
    catch ( Exception ex1 )   
    {   
     Label1.Text="本地SQL数据库连接失败";  
     }  
    }
}我是刚学c#的,现在想尝试下连接数据库,在连接的时候出了点问题,代码是网上摘来的,做了适当修改。运行的时候则显示“本地SQL数据库连接失败”

解决方案 »

  1.   

    string strCon = "Integrated Security=SSPI;Initial Catalog='数据库';Data Source=’主机名’";   
    中文对象起码要换成你的数据库名和主机IP吧
     Label1.Text="本地SQL数据库连接成功";   
      }   
      catch ( Exception ex1 )   
      {   
      Label1.Text="本地SQL数据库连接失败";   
      }   
      }
    错误处理也要把这个换成这样吧
    Label1.Text=ex1.String;   
      

  2.   

    看看ex1.Message
    using(SqlConnection myConn = new SqlConnection("Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword"))
    {}
    sqldatasource直接连接
      

  3.   

    "Integrated Security=SSPI;Initial Catalog='数据库';Data Source=’主机名’";这里应该换成实际的主机和数据库名..楼主装MSSQL数据库了吗
      

  4.   

    主机名,数据库名这我是知道的还有我的登录方式是windows认证机制
    还有我装的是SQL server 2005
      

  5.   

    建议先catch出来异常看看异常信息。
      

  6.   

    会不会是没有引用using System.Data.SqlClient;
    你的代码好像没什么问题的,除非string strCon = "Integrated Security=SSPI;Initial Catalog='数据库';Data Source=’主机名’"; 写错了
      

  7.   


    "Data Source=IP;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword"
      

  8.   

    System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) 在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) 在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) 在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) 在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) 在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) 在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) 在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 在 System.Data.SqlClient.SqlConnection.Open() 在 _Default.Button1_Click(Object sender, EventArgs e) 
    错误代码
      

  9.   

    你肯定不是第一次装sql了,上一次没卸载干净吧!sql和vs之间安装会出现这种问题!卸载重新安装下
      

  10.   

    lz用sql server身份验证试试。
      

  11.   

    楼主按2楼的方法,把错误给显示出来,然后发给大家。我们才能确定你到底哪里错了。
    我现在估计,把myConn的open和close方法去掉。
    因为SqlDataAdapter对象不需要sqoconnection连接
      

  12.   

    下面语句有错:没指定用户名和密码,怎么能登陆数据库呢?
    string strCon = "Integrated Security=SSPI;Initial Catalog='数据库';Data Source=’主机名’"; 应改为: 
    string strCon = "data source=主机名或主机IP;initial catalog=数据库名;user id=用户名;password=密码";
      

  13.   

    数据库问题吧,你找个简单的控件测试一下连接,比如datasource,配置它的数据源,新建连接,选上数据库等信息,确定之后,点开那个连接字符串,复制下来后,删掉控件就可以了~~
      

  14.   

    你在studio 添加数据源看看通不??
      

  15.   

    使用windows验证自然不用用户名和密码,但是你的数据库是在本机吗,不是本机要允许远程连接,不过默认安装的话都是有的。
    再者要确认服务器名称是正确的,
    最保险的就是你打开SQLSERVER的SSMS 里面那个服务器名称要和连接的一致。
      

  16.   

      string strCon = "Data Source=服务器名称;Initial Catalog=数据库;Integrated Security=SSPI"; 里面没有单引号 
      

  17.   

    YOYO_7-PC\SQLEXPRESS,这个是服务器名,但是调试的时候说无法识别转义序列
      

  18.   

    发个基本的给你 连sql2005的 public static SqlConnection get_2005()
            {
                // return new SqlConnectio("server=.\\sql2005;uid=sa;pwd=123;database=数据库");
                return new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
            }
            public static int get_date(string sql)
            {
                int i = 0;
                SqlConnection con = get_2005();
                try
                {
                    SqlCommand com = new SqlCommand();
                    com.CommandText = sql;
                    com.Connection = con;
                    con.Open();
                    com.ExecuteNonQuery();            }
                catch (Exception e)
                {
                    throw new Exception(e.Message);
                }
                finally
                {
                    con.Close();
                }
                return i;
            }
            public static DataTable get_table(string sql)
            {
                DataTable dt = new DataTable();
                SqlConnection con = get_2005();
                SqlDataAdapter da = new SqlDataAdapter(sql, con);
                da.Fill(dt);
                return dt;        }
      

  19.   

    测试了,目标正确:Data Source=YOYO_7-PC\SQLEXPRESS;Initial Catalog=尝试连接数据库;Integrated Security=True
    但是一个问题,无法识别转义序列;
    求高人
      

  20.   

    不知道为什么,这个代码就是调试不成功,后来我换了个,然后就可以了~
     protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                //创建一个 SqlConnection对象   
                string strCon = "Data Source=YOYO_7-PC\\SQLEXPRESS;Initial Catalog=尝试连接数据库;Integrated Security=SSPI";
                SqlConnection myConn = new SqlConnection(strCon);
                string strCom = " SELECT * FROM 基本信息";
                //创建一个 DataSet对象   
                DataSet  myDataSet = new DataSet();
                myConn.Open();
                SqlDataAdapter myCommand = new SqlDataAdapter(strCom, myConn);
                myCommand.Fill(myDataSet, "基本信息");
                myConn.Close();
                //关闭连接  
                Label1.Text = "本地SQL数据库连接成功";
            }
            catch (Exception ex1)
            {
                Label1.Text = ex1.ToString();