问题标签 [ora-01036]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1009 浏览

asp.net - 使用 system.data.oracleclient 构建良好的搜索查询

我正在一个类中构建一个搜索功能,供我们的几个 asp 页面使用。这个想法很简单,从用户那里获取一个搜索词并在数据库中查询该项目。目前我这样做的方式是错误的,这很容易受到 SQL 注入攻击(如果出现问题,ELMAH会在那里挽救一天):

字符串连接不好。接下来你知道,Bobby Tables破坏了我的系统。现在,执行此操作的正确方法是通过将 :searchterm 放入字符串并添加以下行来创建适当的 oracle 变量:

问题是因为我使用的是 like 语句,我需要能够在搜索词的任何一侧都有 %,而我似乎无法使用 '%:searchterm%' 来做到这一点,它只会给出一个错误ORA-01036: 非法变量名称/编号。

我可以参数化但仍然让我灵活的 like 语句成为它的一部分吗?

0 投票
2 回答
634 浏览

java - Java JDBC Oracle 9i 升级到 10g 问题

我们刚刚从 oracle 9i 升级到 10g,我使用 9i 客户端而不是 10g 的数据库查询。查询中没有任何变化。我收到以下错误:

不太确定发生了什么。为什么不再运行了。它只是一个连接大约 3 或 4 个表的选择语句。我确保使用 setInt 传递变量(这是我正在使用的数字)。在区分要加入的表时,我发现唯一不同的是,在一张表上,我要加入的列设置为一张表上的数字和另一张表上的 Number(12)。这有什么不同吗?查询仍在 TOAD 和 SQL 导航器中运行...

0 投票
3 回答
2191 浏览

sql - Oracle 中的 UPDATE 语句

我们正在构建一个客户端程序,其中存储在具有 Oracle 后端的 Web 服务器中的参数在 .Net 客户端程序中设置,并通过 Web 服务作为数据集上传。

在 Web 服务代码中,从数据集中读取数据并添加到 Web 服务器(Oracle 后端)上的 UPDATE 语句中。

因为服务器将在防火墙后面的客户 LAN 上运行,并且由于所涉及参数的动态特性,所以没有使用存储过程 - SQL 字符串内置在逻辑中。

这是一个示例字符串:

在 VS 2010 中调试代码并进入服务器代码时,我们收到以下错误:

在目标 oracle 机器上执行 SQL 命令时,系统提示我们输入上述语句的绑定变量,只要我们使用正确的日期格式,UPDATE 语句就可以正常工作。

问题:

1)当月份格式错误时,oracle是否有可能抛出ORA-01036错误?

2) 为什么我们不必从运行在 Oracle 机器上的 ASP.net 网站转换日期格式?Oracle 是否有排除绑定变量输入屏幕的默认转换例程?

3) 如果日期格式不是问题,ORA-1036 究竟是什么意思,我如何发现 WHICH 变量的名称/编号是非法的?


这是一个函数片段,它采用数据集的类型 (WOName) 并返回适当的 SQL 字符串。许多案例存在,但为了便于阅读已被删除。

这是一个函数片段,它接受 Oracle 命令对象 byRef 并向其添加所需的参数,具体取决于从客户端程序接收到的可能的 15 种数据集(WOName)中的哪一种。许多案例存在,但为了便于阅读已被删除。

然后将更新后的 Cmd 对象返回到调用 ExecuteNonQuery() 的主程序逻辑。

下面params的测试值如下:

今天运行它时,这个精确的代码是成功的;但另一个类似的情况不是。我仍然不相信 Oracle 执行的任何隐式类型转换(如果有的话)——我特别怀疑 Oracle 如何处理通过 dbNull.value 传递的任何这些参数——我知道它会发生。所以如果这是问题,我将不得不解决它。有太多的可选参数和列并不总是让这个系统传入的值在空值上中断。

0 投票
2 回答
16873 浏览

c# - 在 C# 中使用带有 LIKE 的 Oracle 绑定变量

作为停止使用动态 SQL 生成并鼓励使用绑定变量的努力的一部分,我遇到了一些问题。

我正在使用 Oracle Data Providers for .NET 从 ASP.NET 页面查询 Oracle 9i 数据库

查询是

我将 Oracle 参数定义如下

这适用于“=”运算符。但我似乎无法让它与“LIKE”一起使用。我不知道如何格式化查询,以便它接受“%”通配符的使用。

我试过了:

并且:

但我得到的只是 ORA-00911(非法字符)和 ORA-01036(非法名称/值)异常。

我究竟做错了什么?

0 投票
1 回答
3584 浏览

sql - ORA-01036: PL/SQL 脚本上的非法变量名称/编号

我对 PL/SQL 游戏还很陌生,我正在尝试编写一个简短的脚本来创建登录名并授予只读/读写权限(根据需要进行必要的授予)。但是,我遇到了变量范围问题。有人可以帮助我可能做错了什么吗?

截图如下:

我正在使用 ODP.NET 进行变量分配并使用OracleCommand.Parameters.Add()

0 投票
1 回答
635 浏览

oracle - Delphi7 主明细关系查询结果 ORA-01036

我正在使用 Delphi7,Devart 的 dbExpress 驱动程序 4.70。

我删除了两个 TSQLTables(称为AB)、两个 TDataSetProviders(dspAdspB)、两个 TClientDataSets(cdsAcdsB)、两个 TDataSources(dsAdsB)和两个 DBGrid(gridAgridB)。一切都很好。如果我设置cdsA.Active为 true,我可以在gridA. 每个相同cdsB

现在我想实现关系

该字段是 '字段引用a的 true的外键,也是' 的主键。我设置的东西如下(我使用图形工具):ABbbB

当我这样做时cdsB.Open,我收到了这个错误:

ORA-01036: 非法变量名称/编号”。

字段a值始终null在表 A 中(没有数据)。TSQLMonitor 报告以下查询: Execute: select * from A

...

Execute: select * from ENTI where (b is NULL)

:1 (Number,IN) = <NULL>

我错过了什么,如何解决?

0 投票
1 回答
1334 浏览

c# - ORA-01036: 在数据源上使用插入命令时

试图在 asp.net 中设置插入语句。

我的 insertCommand 如下:

插入参数的代码是:

我正在插入的 OracleDB 表 (DVD) 是:

我认为这是变量类型的潜在冲突,因为参数部分中的变量类型确实与我的表中的不同,但我尝试将它们交换为更合适的类型,但无济于事!

0 投票
0 回答
1018 浏览

asp.net - ORA-01036: SELECT 中参数上的非法变量名称/编号错误

我正在尝试在 GridView 中填充一系列下拉列表。在 RowDataBound 事件中,我根据 gridviewrow 中的其他信息调用以获取用于填充行中下拉列表的项目。我在以下代码中收到“ORA-01036:参数上的非法变量名称/编号错误”。

如果我从 SELECT 语句中删除 ":currentYear AS CURRENT_YEAR",它运行良好。我在另一个 SELECT 中从其他表的连接中使用相同的语句,没有问题。

strYear 来自 gridviewrow 中的标签,我检查了它是否有数据并且它对 CDate 有效(我也尝试将它简单地作为具有相同结果的字符串)。StrItemVal(0) 来自另一个下拉列表(使用 :currentYear 成功填充的下拉列表)。仅当该下拉列表中有一个被选中的值时,才会调用此代码。

0 投票
3 回答
52754 浏览

php - ORA-01036; 非法变量名称/编号

我有以下插入查询

每次我尝试运行此查询时,我都会收到此错误

我做了一些研究,显然这意味着其中一个变量不在 SQL 语句中。这对我来说不是这种情况,我检查了语句、数据库(即 oracle)表和所有绑定变量,它们都匹配。

错误上的行号表明它是 $driveable 变量。我做了检查,这被发送到页面很好。

不知道在哪里看所以任何帮助都会很棒。

0 投票
1 回答
746 浏览

.net - ora-01036 非法变量名称/编号 ExecuteNonQuery 调用使用 VB.Net

我在通过 .NET 执行 Oracle 查询时遇到问题。我对从.Net调用Oracle命令很陌生(我来自mySQL背景),所以非常感谢任何帮助!

我首先构建一个查询字符串...

然后我添加我的参数...

在 ExecuteNonQuery() 调用中出现异常... ORA-01036: 非法变量名称/编号

过程的定义

pVehicleID、pContractID、pDriverID 和 pDateTimeOn 是强制性的。