string source = "user id=Administrator;password=zzgg;" + 
                           "initial catalog =northwind; data source = xd-wth" ;
试一下,"Provider=SQLOLEDB;" 这个不用吧,这是用于Oledb的。sqlconnection不要指定,"Provider=SQLOLEDB;" 的。

解决方案 »

  1.   

    各位有没有一个c#控制台应用,连接sqlserver2k数据库的例子
    谢谢
      

  2.   

    下面代码我在winform里试验通过的,你可以直接放到控制台项目中适用:
    string ConnStr = "Provider=SQLOLEDB.1";
    ConnStr += " ;Password=123456";
    ConnStr += " ;User ID=fancy";
    ConnStr += " ;Data Source=DBServer";
    ConnStr += " ;Initial Catalog=mydb";
    OleDbConnection Conn = null;
    try
    {
    Conn = new OleDbConnection(ConnStr);
    //连接数据库
    Conn.Open();
    MessageBox.Show("OK");
    }
    catch(System.Exception err)
    {
    MessageBox.Show(err.Message);
    }
    finally
    {
    if (Conn.State == ConnectionState.Open)
    Conn.Close();
    if (Conn != null)
    Conn = null;
    }
      

  3.   

    string source = "server=(local)\\xd-wth;"
                    +"Integrated Security=SSPI;database=northwind;" ;
    SqlConnection conn = new SqlConnection ( source ) ;这样就可以了,实际上SqlConnection不需要provider节点,只有用OleDbConnection的时候才要用provider来确定是那种数据库服务。
      

  4.   

    static void Main(string[] args)
    {
    //
    // TODO: 在此处添加代码以启动应用程序
    //
    string str_conn = "server = localhost;database = ryy;"+"uid = sa;password =";
    string str_slct = "select Mobile_NO,Answer_info from ZX";
    SqlConnection conn = new SqlConnection(str_conn);
    SqlCommand cmd = new SqlCommand(str_slct,conn);
    conn.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    do
    {
    Console.WriteLine("\t{0}\t{1}", dr.GetName(0), dr.GetName(1));while (dr.Read())
    Console.WriteLine("\t{0}\t{1}", dr.GetString(0), dr.GetString(1));} while (dr.NextResult());试试看
      

  5.   

    sqlconnection conn=new sqlconnection ("server=localhost;database=northwind;integrated security=sspi")sqlclient不用provider
      

  6.   

    你在最上面加上using System.Data;
    这样才能使用SqlDataReader