1

我在远程 IBM AIX 服务器上安装了一个 Oracle 9i DB。我想使用 C# 应用程序 (.Net) 连接到它 目前,我可以使用我机器上的 SQL Developer 和 SQLPlus 连接到它。

但是当我尝试从 Visual Studio App 连接时,使用 System.Data.OracleClient。

    private static string GetConnectionString()
    {
        return "Data Source=<server address>;User ID=<username>;Password=<password>;";
    }

    // This will open the connection and query the database
    private static void ConnectAndQuery()
    {
        string connectionString = GetConnectionString();
        using (OracleConnection connection = new OracleConnection())
        {
            try
            {
                connection.ConnectionString = connectionString;
                connection.Open();
                Console.WriteLine("State: {0}", connection.State);
                Console.WriteLine("ConnectionString: {0}",
                                  connection.ConnectionString);

                OracleCommand command = connection.CreateCommand();
                string sql = "SELECT * FROM demo";
                command.CommandText = sql;

                OracleDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    string myField = (string)reader["f1"];
                    Console.WriteLine(myField);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                connection.Close();
            }
            finally
            {
                connection.Close();
            }
        }
    }

我收到以下错误:

ORA-12705指定的 NLS 参数值无效或未知

我检查了 NLS 的注册表值,它已经设置为 AMERICAN_AMERICA.WE8MSWIN1252

不知道如何处理。请建议

4

1 回答 1

0

此问题的一些可能原因在 dba-oracle.com 上进行了讨论。

于 2010-06-28T16:28:25.583 回答