第一次连接SQL2005数据库,很简单的

朝三慕四 2011-04-07 07:58:40

class Program
{
static void Main(string[] args)
{
string strCon = "Data Source=PC-201011141515\\SQLEXPRESS;User ID=sa;password=5447763;database=MYFIRSTDB";
SqlConnection cmd;
cmd = new SqlConnection(strCon);
try
{
cmd.Open();
Console.WriteLine("成功");
cmd.Close();
}
catch(Exception e)
{
string strerror=e.ToString();
Console.WriteLine(e.ToString());
using(StreamWriter sw=new StreamWriter(@"G:\C#\exception.txt"))
{
sw.Write(e.ToString());
sw.Close();
}

}
Console.ReadKey();
}
}



System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 "MYFIRSTDB"。登录失败。
用户 'sa' 登录失败。
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
在 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()
在 ConsoleApplication1sql.Program.Main(String[] args) 位置 d:\我的文档\Visual Studio 2005\Projects\ConsoleApplication1sql\ConsoleApplication1sql\Program.cs:行号 19


错哪了....唉....
...全文
227 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
andy_liucj 2011-04-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 blue999ice 的回复:]
原因很简单,你拼接的连接字符串没有提供命名管道连接方式,所以才会一直失败
[/Quote]
感觉跟命名管道没关系,
命名管道是专门用在局域网里的协议
他现在是在同一台机器,共享内存就可以工作了,
再说也没有办法在连接字符串里指定使用什么协议吧
只能看服务器开启了哪几种协议,而客户机能够使用哪些协议能
与服务器通信,同一台机器上shared memory, tcp/ip 和named pipe都能的
朝三慕四 2011-04-09
  • 打赏
  • 举报
回复

string connet = "Data Source=PC-201011141515\\SQLEXPRESS;Initial Catalog=C:\\PROGRAM FILES\\MICROSOFT SQL SERVER\\MSSQL.1\\MSSQL\\DATA\\MYFIRSTDB.MDF;Persist Security Info=True;User ID=sa;Password=5447763";


这样写成功了.....难道要写绝对路径???
朝三慕四 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 blue999ice 的回复:]
connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Personal.mdf" providerName="System.Data.SqlClient"
[/Quote]

string strCon0 = "Data Source=.\\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|PUBS.MDF";

按11楼的写法...将数据库拷贝到DEBUG目录下显示成功....
朝三慕四 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 blue999ice 的回复:]
引用 1 楼 lianaiqiong 的回复:
C# code

connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Personal.mdf" providerName="System.Data.SqlClient"

[/Quote]
providerName="System.Data.SqlClient"
这个是什么东东
javatemptation 2011-04-08
  • 打赏
  • 举报
回复

string connet = @"Data Source=PC-201011141515\SQLEXPRESS;Initial Catalog=C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL.1\MSSQL\DATA\MYFIRSTDB.MDF;Persist Security Info=True;User ID=sa;Password=5447763";


就这样写哈,lz没有写 Persist Security Info=True;
朝三慕四 2011-04-08
  • 打赏
  • 举报
回复

这是用VS2005向导生成的
string connet = "Data Source=PC-201011141515\\SQLEXPRESS;Initial Catalog=C:\\PROGRAM FILES\\MICROSOFT SQL SERVER\\MSSQL.1\\MSSQL\\DATA\\MYFIRSTDB.MDF;Persist Security Info=True;User ID=sa;Password=5447763";


测试成功....

三楼的代码 为什么不行

string strCon = "Server=PC-201011141515\\SQLEXPRESS;User ID=sa;password=5447763;database=MYFIRSTDB";

--数据库配置在本地的话,也可:
string strCon = "Server=.;User ID=sa;password=5447763;database=MYFIRSTDB";
string strCon = "Server=127.0.0.1;User ID=sa;password=5447763;database=MYFIRSTDB";
朝三慕四 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 ssp2009 的回复:]

[/Quote]

很早就改过了,但是还是不行....
快溜 2011-04-08
  • 打赏
  • 举报
回复
修改数据库外围配置,如上图
快溜 2011-04-08
  • 打赏
  • 举报
回复
朝三慕四 2011-04-08
  • 打赏
  • 举报
回复

啊哦...我写的是WinForm....
怎么样将命名管道连接方式加到Connetionstr里....新手....
blue999ice 2011-04-08
  • 打赏
  • 举报
回复
楼主可以直接在web.xml里配置数据库连接,那样更简单方便
blue999ice 2011-04-08
  • 打赏
  • 举报
回复
原因很简单,你拼接的连接字符串没有提供命名管道连接方式,所以才会一直失败
blue999ice 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lianaiqiong 的回复:]
C# code

string strCon = "Data Source=PC-201011141515\\SQLEXPRESS;User ID=sa;password=5447763;database=MYFIRSTDB";



看一下这个错哪了....
[/Quote]
connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Personal.mdf" providerName="System.Data.SqlClient"
朝三慕四 2011-04-07
  • 打赏
  • 举报
回复
我快崩溃 了..........
朝三慕四 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 andy_liucj 的回复:]
你的sql server服务器跟你写的程序在同一台机器上不?
不在同一台机器上的话是不能通过共享内存方式连接的,
希望下面的连接对你有帮助
http://support.microsoft.com/kb/914277
[/Quote]

数据库在本机上....
andy_liucj 2011-04-07
  • 打赏
  • 举报
回复
andy_liucj 2011-04-07
  • 打赏
  • 举报
回复
你的sql server服务器跟你写的程序在同一台机器上不?
不在同一台机器上的话是不能通过共享内存方式连接的,
希望下面的连接对你有帮助
http://support.microsoft.com/kb/914277
朝三慕四 2011-04-07
  • 打赏
  • 举报
回复
没人了吗??
朝三慕四 2011-04-07
  • 打赏
  • 举报
回复
我用SQL Server方式是用户名sa 密码5447763是可以登陆的
朝三慕四 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lzd_83 的回复:]
3:设置一个Sql server方式的用户名和密码,具体设置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式,
用户名为sa ,密码为:sa123456的用户进数据库了..
[/Quote]
这一步怎么弄....
加载更多回复(3)

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧