问题标签 [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.
asp.net - 使用 system.data.oracleclient 构建良好的搜索查询
我正在一个类中构建一个搜索功能,供我们的几个 asp 页面使用。这个想法很简单,从用户那里获取一个搜索词并在数据库中查询该项目。目前我这样做的方式是错误的,这很容易受到 SQL 注入攻击(如果出现问题,ELMAH会在那里挽救一天):
字符串连接不好。接下来你知道,Bobby Tables破坏了我的系统。现在,执行此操作的正确方法是通过将 :searchterm 放入字符串并添加以下行来创建适当的 oracle 变量:
问题是因为我使用的是 like 语句,我需要能够在搜索词的任何一侧都有 %,而我似乎无法使用 '%:searchterm%' 来做到这一点,它只会给出一个错误ORA-01036: 非法变量名称/编号。
我可以参数化但仍然让我灵活的 like 语句成为它的一部分吗?
java - Java JDBC Oracle 9i 升级到 10g 问题
我们刚刚从 oracle 9i 升级到 10g,我使用 9i 客户端而不是 10g 的数据库查询。查询中没有任何变化。我收到以下错误:
不太确定发生了什么。为什么不再运行了。它只是一个连接大约 3 或 4 个表的选择语句。我确保使用 setInt 传递变量(这是我正在使用的数字)。在区分要加入的表时,我发现唯一不同的是,在一张表上,我要加入的列设置为一张表上的数字和另一张表上的 Number(12)。这有什么不同吗?查询仍在 TOAD 和 SQL 导航器中运行...
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 传递的任何这些参数——我知道它会发生。所以如果这是问题,我将不得不解决它。有太多的可选参数和列并不总是让这个系统传入的值在空值上中断。
c# - 在 C# 中使用带有 LIKE 的 Oracle 绑定变量
作为停止使用动态 SQL 生成并鼓励使用绑定变量的努力的一部分,我遇到了一些问题。
我正在使用 Oracle Data Providers for .NET 从 ASP.NET 页面查询 Oracle 9i 数据库
查询是
我将 Oracle 参数定义如下
这适用于“=”运算符。但我似乎无法让它与“LIKE”一起使用。我不知道如何格式化查询,以便它接受“%”通配符的使用。
我试过了:
并且:
但我得到的只是 ORA-00911(非法字符)和 ORA-01036(非法名称/值)异常。
我究竟做错了什么?
sql - ORA-01036: PL/SQL 脚本上的非法变量名称/编号
我对 PL/SQL 游戏还很陌生,我正在尝试编写一个简短的脚本来创建登录名并授予只读/读写权限(根据需要进行必要的授予)。但是,我遇到了变量范围问题。有人可以帮助我可能做错了什么吗?
截图如下:
我正在使用 ODP.NET 进行变量分配并使用OracleCommand.Parameters.Add()
oracle - Delphi7 主明细关系查询结果 ORA-01036
我正在使用 Delphi7,Devart 的 dbExpress 驱动程序 4.70。
我删除了两个 TSQLTables(称为A
和B
)、两个 TDataSetProviders(dspA
和dspB
)、两个 TClientDataSets(cdsA
和cdsB
)、两个 TDataSources(dsA
和dsB
)和两个 DBGrid(gridA
和gridB
)。一切都很好。如果我设置cdsA.Active
为 true,我可以在gridA
. 每个相同cdsB
。
现在我想实现关系
该字段是 '字段引用a
的 true的外键,也是' 的主键。我设置的东西如下(我使用图形工具):A
B
b
b
B
当我这样做时cdsB.Open
,我收到了这个错误:
ORA-01036: 非法变量名称/编号”。
字段a
值始终null
在表 A 中(没有数据)。TSQLMonitor 报告以下查询:
Execute: select * from A
...
Execute: select * from ENTI where (b is NULL)
:1 (Number,IN) = <NULL>
我错过了什么,如何解决?
c# - ORA-01036: 在数据源上使用插入命令时
试图在 asp.net 中设置插入语句。
我的 insertCommand 如下:
插入参数的代码是:
我正在插入的 OracleDB 表 (DVD) 是:
我认为这是变量类型的潜在冲突,因为参数部分中的变量类型确实与我的表中的不同,但我尝试将它们交换为更合适的类型,但无济于事!
asp.net - ORA-01036: SELECT 中参数上的非法变量名称/编号错误
我正在尝试在 GridView 中填充一系列下拉列表。在 RowDataBound 事件中,我根据 gridviewrow 中的其他信息调用以获取用于填充行中下拉列表的项目。我在以下代码中收到“ORA-01036:参数上的非法变量名称/编号错误”。
如果我从 SELECT 语句中删除 ":currentYear AS CURRENT_YEAR",它运行良好。我在另一个 SELECT 中从其他表的连接中使用相同的语句,没有问题。
strYear 来自 gridviewrow 中的标签,我检查了它是否有数据并且它对 CDate 有效(我也尝试将它简单地作为具有相同结果的字符串)。StrItemVal(0) 来自另一个下拉列表(使用 :currentYear 成功填充的下拉列表)。仅当该下拉列表中有一个被选中的值时,才会调用此代码。
php - ORA-01036; 非法变量名称/编号
我有以下插入查询
每次我尝试运行此查询时,我都会收到此错误
我做了一些研究,显然这意味着其中一个变量不在 SQL 语句中。这对我来说不是这种情况,我检查了语句、数据库(即 oracle)表和所有绑定变量,它们都匹配。
错误上的行号表明它是 $driveable 变量。我做了检查,这被发送到页面很好。
不知道在哪里看所以任何帮助都会很棒。
.net - ora-01036 非法变量名称/编号 ExecuteNonQuery 调用使用 VB.Net
我在通过 .NET 执行 Oracle 查询时遇到问题。我对从.Net调用Oracle命令很陌生(我来自mySQL背景),所以非常感谢任何帮助!
我首先构建一个查询字符串...
然后我添加我的参数...
在 ExecuteNonQuery() 调用中出现异常... ORA-01036: 非法变量名称/编号
过程的定义
pVehicleID、pContractID、pDriverID 和 pDateTimeOn 是强制性的。