1

私はMySQLに接続されたJavaでアプリケーションを実行してきましたが、現在は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/」とそのようなsmthだと思いますが、Oracleの場合、ブラウザのMySQLと同じビジュアルインターフェイスが実際にはないため、少し迷っています。

私はこのチュートリアルに従いました:C# を使用したInstant Oracleで、コードに接続文字列を直接含める場合を行っていますが、tsanames.ora外部ファイルは使用していません。簡単に言うと、自分のデータベースの接続文字列を変更する方法がわかりません。他に間違いや提案がある場合は、遠慮なく述べてください。

4

1 に答える 1

1

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

ユーザー名とパスワードは、接続するスキーマに関連するものです。

于 2013-03-25T16:17:11.020 に答える