为什么 OleDbConnection 访问被拒绝

本文关键字:拒绝 访问 OleDbConnection 为什么 | 更新日期: 2023-09-27 18:34:48

为什么 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"提供程序未在本地计算机上注册。

为什么 OleDbConnection 访问被拒绝

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

SQL Server 是一个服务器应用程序,您不连接到文件名*,而是通过网络地址或名称连接到服务器

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

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

这有效:

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);