c#连接到Oracle数据库

本文关键字:数据库 Oracle 连接 | 更新日期: 2023-09-27 18:05:59

我一直在做Java上的应用程序,与MySQL连接,但现在我正在做c#与Oracle。下面是我目前得到的代码:

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

让我骇客的是,我不知道该输入什么来交换"myserver.server.com", "myUserID"answers" myypassword "在connectionString。我想它是"localhost/"之类的,但是在Oracle中,我并没有像在浏览器中使用MySQL那样的视觉界面,因此我有点"迷路了"。

我遵循这个教程:使用c#即时Oracle我正在做的情况下,包括连接字符串直接在我的代码,但不使用tsannames。外部文件。长话短说->我不知道如何修改连接字符串为我自己的数据库,如果有任何其他错误或建议-随时陈述他们。

c#连接到Oracle数据库

我不确定您是否可以在不修改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; ...

用户名和密码是与要连接的模式相关的。