数据库连接字符串的常见问题和解决方法

网络整理 - 07-27

数据库连接字符串的常见问题和解决方法:

基本知识1:


SQL Server数据库的身份验证方式,分windows验证,SQL Server验证两种。打开你的企业管理器。在工具菜单选择——〉SQL Server配置属性(如果该项不可用,请展开你的数据库)切换到安全页,可以看到你的数据库允许的验证方式。如果你不清楚该应该使用哪个的话使用“SQL Server和Windows”

基本知识2:

确定连接字符串使用的是哪种方式身份验证方式。首先,我假设你的字符串是合法的。如果不确定本文后面附有几个常用的连接字符串。如果能看到你的连接字符串里有明确的User ID和PassWord就认为它是SQL Server的验证方式好了。

基本知识3:

在SQL Server数据库里添加登录(login)。展开你的数据库左边的树找到 “安全”文件夹,打开里面的“登录”。在这里添加。

基础知识4:

确定,数据库可用。从开始——>程序 打开你的查询分析器(不要从企业管理器打开)。这时,可以看到一个登录框,选择你的 连接字符串使用的验证方式(基本知识2),视情况输入你的 用户名和密码。如果登录成功,说明你的数据库,没有问题。如果不能登录。请察看基本知识1和基本知识2 ,修改身份验证方式和添加合适的登录(login)。

从出现的异常查找,连接字符串的错误:

“/WebApplication2”应用程序中的服务器错误。

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

用户 'MEYER\ASPNET' 登录失败。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以

了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 用户

'MEYER\ASPNET' 登录失败。

注释: 这个是ASP.net 使用Windows 身份验证的一个经典错误了:,按照基本知识3添加aspnet这个本地用户的登录。
未处理的异常: System.Data.SqlClient.SqlException: 无法打开登录'northwindow' 中请求的数据库。登录失败。用户 'sa' 登录失败

^^^^^^^^^^^^^ ^^^^^^^^^^

注释: 这里可以看出可能是数据库的名字写错了。把northwind写成了northwindow)

未处理的异常: System.Data.SqlClient.SqlException: SQL Server不存在或访问被拒绝

注释: 这个就可能是你的数据库服务器名字拼写错误,更多的情况是SQL Server数据库没有打开。

未处理的异常: System.Data.SqlClient.SqlException: 用户 'bb'登录失败。

注释: 这个可能是你的用户名和密码有问题。请按照基本知识4操作。

几个常用的数据库连接字符串:

1.使用SQL提供者的,使用SQL SERVER验证方式连接SQL Server northwind数据库

@"server=localhost;database=northwind;UID=sa;PassWord=";
 
2.使用SQl提供者的,使用windows集成验证方式连接SQL Server northwind数据库

@"Data   Source=(local);Initial   Catalog=Northwind;Trusted_Connection=Yes;";
 
3.使用OLEDB提供者的,使用windows集成验证方式连接SQL Server northwind数据库

@"Provider=SQLOLEDB;Data   Source=(local);Initial   Catalog=Northwind;Trusted_Connection=Yes;";
 
4.使用OLEDB提供者的,使用SQL Server验证方式连接SQL Server northwind数据库

@"Provider=SQLOLEDB;server=localhost;database=northwind;UID=sa;PassWord=";
 
5.使用OLEDB提供者的,连接Oracle数据库,这个得建立别名,应该很少人使用

@"Provider=MSDAORA;Data   Source=MyDatabaseAlias;   User   ID=MyUID;Password=MyPassword";

6. 使用OLEDB提供者的,连接Ms Access数据库

以下为引用的内容:
@"Provider=Microsoft.Jet.OLEDB.4.0;  
Data   Source=Data\MyDatabase.MDB"; 

7. 使用OLEDB提供者的,连接Ms Access数据库要带密码呢?

以下为引用的内容:
Provider=Microsoft.Jet.OLEDB.4.0;  
Data   Source=C:\...\MySecure.MDB;  
Jet   OLEDB:System   database=C:\...\MySystem.MDW;  
User   ID=MyUserName;Password=MyPassword; 

8.使用OLEDB提供者的,连接MsAccess数据库还有一个带密码的

以下为引用的内容:
Provider=Microsoft.Jet.OLEDB.4.0; </B>
Data   Source=C:\...\MyPasswordProtected.MDB;  
Jet   OLEDB:Database   Password=MyPassword;