![](/img/trans.png)
[英]asp.net c# oledbconnection InvalidOperationException
[英]Why an InvalidOperationException for OleDbConnection / C#?
為什么為OleDbConnection / C#設置InvalidOperationException?
string connectionString =
"Provider=SQLOLEDB.1;" +
"Integrated Security=SSPI;" +
"Persist Security Info=False;" +
"Trusted_Connection=False;" +
"Data Source=XXX-LAPTOP\\SQLEXPRESS;" +
"Initial Catalog=C:\\...\\SqlServerDbExample.mdf";
OleDbConnection oleConnection = new OleDbConnection(connectionString);
oleConnection.ServerVersion引發類型為System.InvalidOperationException的異常。
我已經查看了SQL Server Management Studio(SSMS):... {數據庫名稱}->屬性...安全-> Windows身份驗證模式(單選按鈕),僅失敗的登錄名(單選按鈕)...權限->視圖服務器權限-> {計算機名}->有效(標簽)->列出所有內容
Initial Catalog
數據庫的邏輯名稱:
"Initial Catalog=MyDatabaseExample;"
否則,如果要將MDF文件附加到現有的SQLExpress實例,則需要使用AttachDBFilename
"AttachDBFilename=C:\\...\\SqlServerDbExample.mdf";
可以在有關SqlConnection.ConnectionString的文檔中找到SQL Server連接字符串中使用的鍵/值對的非常詳細的列表,盡管我不確定是否所有內容都適用於OleDbConnection。
我不知道是否有某種使用OleDb的要求,但是如果沒有阻止它,我建議直接使用SqlClient類而不是OleDb的類。
史蒂夫是正確的。 這有效:
string connectionString =
"Provider=SQLOLEDB.1" + ";" +
"Integrated Security=SSPI" + ";" +
"Persist Security Info=False" + ";" +
"Trusted_Connection=False" + ";" +
"Data Source=CTE-LAPTOP\\SQLEXPRESS" + ";" +
"Initial Catalog=SqlServerDbExample" + ";" + //Database name
"AttachDBFilename=C:\\...\\SqlServerDbExample.mdf" + ""; //File name
OleDbConnection oleConnection = new OleDbConnection(connectionString);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.