簡體   English   中英

C#連接到Oracle數據庫

[英]C# connection to Oracle database

我一直在使用Java和與MySQL連接的應用程序進行開發,但是現在我正在使用Oracle進行C#。 這是到目前為止我得到的代碼:

using System.Data.OracleClient;

namespace Chat
{
    class DBconnector
    {
        static private string GetConnectionString()
        {
            return "Data Source=myserver.server.com;Persist Security Info=True;" +
                "User ID=myUserID;Password=myPassword;Unicode=True";
        }
        static public void ConnectAndQuery()
        {

            string connectionString = GetConnectionString();
            using(OracleConnection conn = new OracleConnection())
            {
                conn.ConnectionString = connectionString;
                conn.Open();
                Console.WriteLine("State: " + conn.State);
                Console.WriteLine("Connction String: " + conn.ConnectionString);

                OracleCommand command = conn.CreateCommand();
                string sql = "SELECT * FROM users";
                command.CommandText = sql;

                OracleDataReader reader = command.ExecuteReader();
                while(reader.Read())
                {
                    string myField = (string)reader["MYFIELD"];
                    Console.WriteLine(myField);
                }
            }

        }

    }
}

搞砸我的是,我不知道在connectionString中交換“ myserver.server.com”,“ myUserID”和“ myPassword”時要鍵入什么。 我想它是“ localhost /”,類似這樣,但是對於Oracle,我的瀏覽器與MySQL的視覺界面實際上並不相同,因此我有點迷失了。

我遵循了本教程: 使用C#的Instant Oracle,並且正在通過在我的代碼中直接包含連接String而不是使用tsanames.ora外部文件來解決這種情況。 長話短說->我不確定如何為自己的數據庫修改連接字符串,如果還有其他錯誤或建議,請隨時聲明。

我不確定是否可以在不修改tnsnames的情況下執行此操作,但這並不困難:

YOURSERVER = (DESCRIPTION = (ADDRESS = (PROTOCOL= TCP)
(Host= <your_server_hostname_or_IP>)(Port= <port>))(CONNECT_DATA = (SID = <DB_instance name>)) )

如果您對如何填寫這些表存有疑問,則應咨詢離您最近的DBA。

然后只需在以下位置添加YOURSERVER:

return "Data Source=YOURSERVER; ...

用戶名和密碼是與您要連接的架構相關的用戶名和密碼。

暫無
暫無

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

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