在 C# 中连接到 Oracle 数据库

Posted

技术标签:

【中文标题】在 C# 中连接到 Oracle 数据库【英文标题】:Connect to Oracle Database in C# 【发布时间】:2018-11-24 17:43:07 【问题描述】:

我想在我的 C# windows 应用程序中测试 Oracle 数据库。我在 Oracle Application Express 上创建了一个工作区。我还创建了 DNS 并成功建立了连接。

连接成功后,我编写了一个代码来获取表列表。

schemaTable = connection.GetSchema("Tables");

此代码 sn -p 成功返回表列表。现在,当我尝试从 EMP 表中读取数据时,我收到以下错误:

错误 [42S02] [Oracle][ODBC][Ora]ORA-00903: 无效的表名

查询以从 EMP 表中检索数据

queryString: "Select * from [EMP];"

 using (OdbcConnection connection = new OdbcConnection(connString))
        
            try
            
                connection.Open();
                OdbcDataAdapter da = new OdbcDataAdapter(queryString, connection);
                da.Fill(fillGridDt);

【问题讨论】:

请发帖minimal reproducible example Apex 工作区与此无关;重要的是数据库用户(模式)。好的,您返回表列表,但无法从 EMP 表中选择任何内容 - 您可以发布您使用的命令吗? 我已经用我用来获取表数据的代码更新了我的问题 在我的应用程序中,我为用户提供了 2 个选项 选项 1:从表列表中选择表名 选项 2:键入查询 如果是选项 1;即表选择;我选择了 EMP 表。在那种情况下,我收到无效的表名错误。但是当我选择选项 2 时:Select * from EMP Query 会成功执行。 【参考方案1】:

我想出了解决办法。 当我使用带有表名的 [] 括号时,它抛出了错误无效的表名。 即从 [EMP] 中选择 * 我尝试使用 Select * from EMP 进行查询;现在它可以工作了

【讨论】:

以上是关于在 C# 中连接到 Oracle 数据库的主要内容,如果未能解决你的问题,请参考以下文章

使用 ODBC 和用户输入连接字符串在 C# 应用程序中连接到 Oracle 11g

尝试在 C# 中连接到 Oracle DB 时出现问题

在 C# 中连接到 MySql 数据库

如何在 bash 脚本中连接到 Oracle 数据库?

在 Katalon Studio 中连接到 Oracle SQL

尝试在 C# 中连接到 Excel 电子表格