- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试维护一个 PowerBuilder 程序,并且无法访问编写代码的前一个程序员。我修改了一个 DataWindow,现在它生成的源代码在选择的列名中不包含表所有者 (dbo)。但它确实在 WHERE 子句中包含了 dbo。见下文。
(旧源代码显示 dbo.FieldAuxs 在选择和 where 中随处可见。)
retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"FieldAuxs~" )
COLUMN(NAME=~"FieldAuxs.id~")
COLUMN(NAME=~"FieldAuxs.clientid~")
COLUMN(NAME=~"FieldAuxs.status~")
COLUMN(NAME=~"FieldAuxs.historyear~")
WHERE( EXP1 =~"dbo.FieldAuxs.id~" OP =~"=~" EXP2 =~":al_id~" ) ) ARG(NAME = ~"al_id~" TYPE = number) " update="FieldAuxs" updatewhere=1 updatekeyinplace=no arguments=(("al_id", number)) )
最佳答案
你描述的问题是一个常见的问题。
典型原因 - 开发人员在开发模式下使用不同的数据库用户 ID
一位开发人员以“模式所有者”身份登录数据库(在开发模式下),另一位开发人员以标准用户(例如 john_doe)身份登录数据库(在开发模式下)。
开发人员一般应该在开发或创建数据窗口时避免以架构所有者身份登录 特别是在多模式数据库中,因为当用户在正常(非模式所有者)用户 ID 下运行应用程序时,数据窗口将失败。
尽管这在概念上很简单,但它一直在发生,因为开发人员在开发中经常可以访问他们用于创建表或修改列等的模式/表所有者,然后他们忘记切换回正常的用户 ID 连接到开发数据窗口。
当 PowerBuilder 限定标识符时 (来自 PB12.5 帮助)
如果表所有者的名称与登录到数据库的用户的名称相同,PowerBuilder 不会在它生成的 SQL 语句中使用所有者名称限定标识符。因此,如果您需要 PowerBuilder 来限定所有者名称,您需要使用不拥有该表的用户登录。
使用 SQLQualifiers 数据库参数 (来自 PB12.5 帮助)
此参数不适用于大多数数据库。根据 PB 12.5 的文档,SQLQualifiers 特定于 目录 Sybase DirectConnect 只要。
其他解决方案和注意事项
将数据窗口 SQL 转换为语法会起作用,但除非绝对必要,否则我通常会尽量避免这样做。你不应该转换为语法的原因是你失去了数据窗口中内置的一些魔法。如果您正在处理支持两个或更多后端数据库的应用程序,那么转换为语法将需要为每个 DBMS 创建一组单独的数据窗口。例如,考虑与 MS SQL Server 相比 Oracle 的左外连接语法,如果以语法编码数据窗口将在一个数据库中工作,但是如果保留在图形模式下,PowerBuilder 会根据正在使用的 DBMS 自动使用正确的左外连接语法。在转换为超出原始问题范围的语法时,您会否定许多其他优势(魔法)。
关于PowerBuilder 12.5 修改后的 DataWindow 不使用表所有者限定列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243524/
PowerBuilder 之间有什么区别? 8 和 PowerBuilder 12? 最佳答案 哎呀。好吧,首先,六个主要版本。 (Sybase 自 v10 以来一直在 x.5 狂欢。)我希望您不要认
我有一些旧的 powerbuilder 程序需要看一下(查看源代码、布局等),它们来自 PowerBuilder 6.5。我可用的只是 PowerBuilder 11(演示/评估版本),它似乎无法打开
如何在 PowerBuilder 中获取事件工作表菜单。如果我禁用菜单,它会禁用上次打开的工作表菜单而不是事件工作表菜单? 最佳答案 Waseem Kiyani answered this Dec 4
我们有一些 secret 报告,我们想在打印出来时添加水印——有人知道您是否想在 powerbuilder 数据窗口中添加水印吗? 谢谢 最佳答案 如果您使用的是 11.5,您所要做的就是转到 Dat
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我正在使用 powerbuilder 11.5 使用此方法来设置列名称的字体粗细。 ~t 是用来做什么的??为什么需要在语句中添加它。如果没有它,就会抛出错误。 dw_1.Object.name.Fo
我正在使用 powerbuilder 11.5 使用此方法设置列名称的字体粗细。 ~t是干什么用的??。为什么要在statement里加上。没有它就会抛出错误。 dw_1.Object.name.Fo
我正在使用 PictureListBox 来显示一些用于图片预览的缩略图。我在那里列出的图片是在开发中添加的,用于测试目的。最终产品必须为用户提供手动导入图片的选项。 问题是:如何访问 Windows
如何将 2 年添加到 powerbuilder 中的日期并正确说明闰年? 我们有一个医疗许可证申请,用户希望日期到期两年。当前的许可日期是 7/10/2010,到期日期应该是 7/2/2012 我使用
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
friend 们,我多次看到 Corel Draw 的启动窗口。 它没有形状;这意味着它包含气球形状和 没有边界。 我还创建了启动图像并放置在一个窗口上。 现在我想透明外面的区域 我的形象。 它是一个
是否可以在 Powerbuilder 12 中创建 XBAP 应用程序?我了解到 powerbuilder 12 支持 WPF,但我不确定 WPF 浏览器 (XBAP) 应用程序。 任何帮助或链接表示
在哪里可以找到实际 PowerBuilder 语言的文档。我指的是从库画家的右键单击菜单中选择“编辑源”时获得的代码类型。不是您通常编写的那种代码。 最佳答案 PowerScript(PowerBui
帮助,我们的团队将我们的笔记本电脑从 Windows XP 升级/更改为 Windows 7 64 位,这是笔记本电脑本身附带的。因此,它已获得许可且不能降级。 使用数据窗口并添加第二个参数时 我收到
有没有办法处理基于网格的数据窗口中单行下拉列表的动态变化? 例子: NAME LIKABILITY PURCHASED IN COLOUR (Text) (DropDown*
我有一个数据窗口(让它的名字是父窗口),我在其中显示另一个数据窗口(让我们称之为子窗口)作为下拉列表。父级采用两个检索参数,命名为 org_id和 pccc_id . child 接受一个名为 org
假设我有一个名为“test”的表,其中包含三个名为 test_id 的列。 , test_name和 test_age .我使用了一个名为 :al_test_id 的检索参数。提示用户插入一个id并在
我在 PowerBuilder 的基础对象(类)中创建一些事件,这个基础数据窗口的后代需要知道那个表(或行)的主键是什么。您将如何确定代码中的主键? 最佳答案 您可以遍历数据窗口的 Column 列表
这是一个 PowerBuilder 问题。我正在使用 PowerBuilder 12 Classic。 我有一个窗口,其中大部分控件都是使用 OpenUserObject 在代码中动态声明的。单击这些
string array[] long lBound, uBound lBound = LowerBound(array[]) // = 1, empty array value uBound = U
我是一名优秀的程序员,十分优秀!