openedge

Fixing sql length error in progress 4gl 10.2B

心已入冬 提交于 2019-12-11 02:51:38
问题 I'm trying to use the openedge jdbc connector to pull data from an existing progress db but im running into column width issues. Here is the error that is holding me up. [DataDirect][OpenEdge JDBC Driver][OpenEdge] Column TabDisplayName in table PUB.Menu has value exceeding its max length or precision. I've looked at many posts, each offering different advice, and here's what I've given a go this far: Manually modify the SQL width via the data dictionary. I ran a quick check on PUB.Menu

ODBC Error “Column x in table y has value exceeding its max length or precision”

我的未来我决定 提交于 2019-12-11 01:15:16
问题 I get this error from Progress database when running the following query using ODBC: SELECT distinct Table.column, { fn CONVERT(SUBSTRING(Table.ProblematicColumn, 1, 60), SQL_VARCHAR)} as test FROM PUB.Table WHERE ( Table.id IN ( SELECT Table.id FROM PUB.Table ) ) I know it's possible to fix it using the DBTools. However, I run queries against multiple Progress databases of multiple clients, so it's not practical to do this every time. Also, for some reason, the ODBC client I'm using (PHP),

Reading XML file to Dataset in Progress-4gl

久未见 提交于 2019-12-10 19:15:22
问题 My XML File is like this <A_VERY_VERY_LONG_TITLE xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/"> <DATA_LIST> <DATA_LIST> <ELEMENT_NO1 xmlns="">ABCDEFG_1</ELEMENT_NO1> <ELEMENT_NO2 xmlns="">1234567_1</ELEMENT_NO2> <ELEMENT_NO3 xmlns=""/> </DATA_LIST> <DATA_LIST> <ELEMENT_NO1 xmlns="">ABCDEFG_2</ELEMENT_NO1> <ELEMENT_NO2 xmlns="">1234567_2</ELEMENT_NO2> <ELEMENT_NO3 xmlns="">A1B2C3D_2</ELEMENT_NO3> </DATA_LIST>

Static vs dynamic queries in OpenEdge

家住魔仙堡 提交于 2019-12-10 16:53:28
问题 Question is very common, let's see pros and cons of each in OpenEdge in terms of code readability, flexibility and performance off course. Static queries: + readability: convenient `buffer.field` notation + performance: higher (supposedly, need comments) -/+ "global scope" allows to handle all previously used buffers, but could lead to ambiguousness, so you'll have to clarify it with a table name (table.field instead of field) - flexibility: you cannot alternate predicate-expression much,

Deleting all special characters from a string in progress 4GL

笑着哭i 提交于 2019-12-10 10:33:43
问题 How can I delete all special characters from a string in Progress 4GL? 回答1: I guess this depends on your definition of special characters. You can remove ANY character with REPLACE . Simply set the to-string part of replace to blank (""). Syntax: REPLACE ( source-string , from-string , to-string ) Example: DEFINE VARIABLE cOldString AS CHARACTER NO-UNDO. DEFINE VARIABLE cNewString AS CHARACTER NO-UNDO. cOldString = "ABC123AACCC". cNewString = REPLACE(cOldString, "A", ""). DISPLAY cNewString

C# to connect to a Progress Database

时光毁灭记忆、已成空白 提交于 2019-12-08 13:28:32
I'm trying to develop a program that will connect to a Progress Database (9.1E) using C# (Visual Studio 2010 Ultimate), but I first need to get a connection string to the Progress Database from the C# program. I have tried the following, but I'm unsuccessful in establishing a connection to the Progress database. I'm not sure what the connection string should look like, but here's what I have before I start expanding everything. Also, I'm not sure what the DSN name should be. private void downloadData_Click(object sender, RoutedEventArgs e) { try { string connectString = "DSN = QADDB; Host =

Connecting via JDBC to OpenEdge in Talend

放肆的年华 提交于 2019-12-06 10:31:58
In "Talend Data Integration" I want to create a connection using JDBC to a Progress OpenEdge database. I have no experience whatsoever with this type of connection. My ODBC-connections to the same resources work fine, but Talend requires a JDBC connection to function properly. The connection settings in Talend I have at the moment are: DB Type: General JDBC JDBC URL: jdbc:sqlserver://db-name:port;databaseName= * * Driver jar: ??? (which jar-file do I need for OpenEdge?) Class name: ??? (which class name do I need for OpenEdge?) User name: * Password: * Schema: ??? (don't know what this means..

How do I do HTTP GET and POST in Progress/OpenEdge ABL?

孤者浪人 提交于 2019-12-06 04:04:19
问题 The Progress docs spill plenty of ink on SOAP, but I'm having trouble finding the example for a simple HTTP GET/POST with Progress ABL. How do I GET and POST strings to/from a URL? Can the URL be https://? Can Progress provide HTTP Basic or HTTP Digest authentication? 回答1: Openedge has built in statements for handling SOAP services, but no simple statement for a GET/POST. What it does have, however, is a mechanism to read / write to specific sockets. So you could use this to build a HTTP post

running a loop on a comma delimited list of items progress 4GL

孤者浪人 提交于 2019-12-05 06:03:15
def var cList as char no-undo. assign cList = "one,two,three,four". <Loop> cList logic... </Loop> What's the best way to loop through a comma delimited list in a char variable so that in this example I would get one then two then three then four. Lol I still remember a bit of Progress I think. DEF VAR i AS INT NO-UNDO. &SCOPED-DEFINE LIST "one,two,three,four" DO i=1 TO NUM-ENTRIES({&LIST}): MESSAGE SUBSTITUTE("LIST[&1] is &2", i, ENTRY(i, {&LIST})). END. DEFINE VARIABLE ch-list AS CHARACTER NO-UNDO. DEFINE VARIABLE i-cnt AS INTEGER NO-UNDO. DEFINE VARIABLE i-entry AS INTEGER NO-UNDO. ASSIGN ch

How do I do HTTP GET and POST in Progress/OpenEdge ABL?

大兔子大兔子 提交于 2019-12-04 08:20:09
The Progress docs spill plenty of ink on SOAP, but I'm having trouble finding the example for a simple HTTP GET/POST with Progress ABL. How do I GET and POST strings to/from a URL? Can the URL be https://? Can Progress provide HTTP Basic or HTTP Digest authentication? Openedge has built in statements for handling SOAP services, but no simple statement for a GET/POST. What it does have, however, is a mechanism to read / write to specific sockets. So you could use this to build a HTTP post routine, or for that matter a routine to handle any other socket based protocol. There is a routine - http