簡體   English   中英

SQL連接C#

[英]SQL connection c#

我有一個標准的本地Oracle數據庫,可以通過使用以下命令與sqldeveloper連接:

username = system
password = orcl
hostname = localhost
port = 1521 
SID = ORCL

但是當我試圖在代碼中做到這一點時

try
            {
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

                builder.DataSource = "localhost";
                builder.InitialCatalog = "HR_ORCL";
                builder.UserID = "system";
                builder.Password = "orcl";
                string connectionString = "Server=(local);Database=HR_ORCL;User ID=system;Password=orcl";
                using (SqlConnection connection = new SqlConnection())
                {
                    connection.ConnectionString = builder.ConnectionString;

                    connection.Open();

                    Console.WriteLine("State: {0}", connection.State);
                    Console.WriteLine("ConnectionString: {0}",
                        connection.ConnectionString);
                }
            }
            catch(Exception error)
            {
                System.Console.WriteLine(error.Message);
            }

我遇到錯誤

“提供者:命名管道提供者,錯誤:40-無法打開與SQL Server的連接”

我究竟做錯了什么 ?

SqlConnection是一種ADO.NET類型,專門用於SQL Server。 它不適用於其他RDBMS。

如果要連接到Oracle數據庫,則需要使用類似System.Data.OracleClient.OracleConnection (以及Oracle樣式的連接字符串)之類的東西。

注意:雖然.NET框架包含適用於Oracle的ADO.NET類型,但這些類型可能已過時(或至少不如它們所具有的那樣高效且功能完整),建議您從Oracle下載並安裝單獨的驅動程序。

正如Stefan所說的那樣,您需要從該站點下載並安裝ODP

安裝完成后,您需要添加程序集Oracle.DataAccess.dll的引用。

然后您可以像這樣使用它:

using System; 
using Oracle.DataAccess.Client; 

class MyClass
{ 
    OracleConnection con; 
    void Connect() 
    { 
        con = new OracleConnection(); 
        con.ConnectionString = "yourconnectionstring"; 
        con.Open(); 
    }

    void Close() 
    {
        con.Close(); 
        con.Dispose(); 
    } 

    static void Main() 
    { 
        //some code
    } 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM