我一直在做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);
}
}
}
}
}
黑客攻击我是因为我不知道输入什么来换取“myserver.server.com”,“myUserID”和connectionString中的“myPassword”。 我认为它是“localhost /”并且像这样,但是对于Oracle,我在浏览器中没有与MySQL相同的可视化界面,因此我有点迷失。
我遵循了本教程:Instant Oracle using C# 我正在做的事情是直接在我的代码中包含连接String,但不使用tsanames.ora外部文件。 长话短说 - >我不知道如何修改我自己的数据库的连接字符串,如果有任何其他错误或建议 - 请随时说明。
答案 0 :(得分: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; ...
用户名和密码是与您要连接的架构相关的用户名和密码。