为什么OleDbConnection访问被拒绝?

时间:2014-12-21 15:31:46

标签: c# oledb oledbconnection sql-server-2014

为什么OleDbConnection访问被拒绝(SQL Server 2014)?

string connectionString =
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=UserInfo;Data Source=C:\\...\\SqlServerDbExample.mdf.;Trusted_Connection=False";

OleDbConnection oleConnection = new OleDbConnection(connectionString);

结果:SQL Server不存在或访问被拒绝。

有意拼写错误的提供者名称会导致不同的消息:

'xxxSQLOLEDB.1'提供程序未在本地计算机上注册。

2 个答案:

答案 0 :(得分:0)

Data Source=C:\\...\\SqlServerDbExample.mdf

SQL Server是服务器应用程序,如果没有连接到文件名*,则通过网络地址或名称连接到服务器。

示例:http://www.connectionstrings.com/sql-server-native-client-11-0-oledb-provider/

*除非您附加,在这种情况下,您不要使用data source来指定文件名。

答案 1 :(得分:0)

这有效:

string connectionString =
        "Provider=SQLOLEDB.1" + ";" +
        "Integrated Security=SSPI" + ";" + //Windows authentication
        "Persist Security Info=False" + ";" +
        "User Instance=True" + ";" +
        "Data Source=CTE-LAPTOP\\SQLEXPRESS" + ";" +
        "Initial Catalog=SqlServerDbExample" + ";" + //Database name
        "AttachDBFilename=C:\\..\\SqlServerDbExample.mdf" + ""; //Filename

 OleDbConnection oleConnection = new OleDbConnection(connectionString);