Focal Point
(SOLVED)Using hold file output for insert

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/9231069313

January 15, 2009, 03:19 PM
MattC
(SOLVED)Using hold file output for insert
Can anyone point out as to what I am doing wrong here? I found examples out there and it looks like I am doing everything right, but I get the following error.

Any help would be great.

 ENGINE ODBC SET DEFAULT_CONNECTION MSAT_TEST
SQL ODBC PREPARE SQLOUT FOR
select TOP 1 SiteNum, LocationID, BusinessDate, ProblemCode, CauseCode, DBServerName
from MSAT01.PollingTracking		
END
-RUN
TABLE FILE SQLOUT
PRINT
     SiteNum
     LocationID
     BusinessDate
     ProblemCode
     CauseCode
     DBServerName
WHERE SiteNum EQ &SiteNum.(FIND SITENUM IN POLLINGTRACKING).SiteNum.;
WHERE BusinessDate EQ DT(&BusinessDate.(FIND BUSINESSDATE IN POLLINGTRACKING).BusinessDate.);
ON TABLE HOLD FORMAT SQLODBC AS TEST_CLEAR 
END
-RUN
SQL ODBC
   insert into MSAT01.PollingTracking (SiteNum, LocationID, BusinessDate, ProblemCode, CauseCode, DBServerName, ActionCode)
   SELECT SiteNum, LocationID, BusinessDate, ProblemCode, CauseCode, DBServerName, 11
   from TEST_CLEAR
END
-RUN
 


0 NUMBER OF RECORDS IN TABLE= 1 LINES= 1
0 HOLDING SQLODBC FILE...
(FOC1400) SQLCODE IS 207 (HEX: 000000CF) XOPEN: 42S22
: [S0022] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column na
: me 'SiteNum'. [S0022] [Microsoft][ODBC SQL Server Driver][SQL Server]Inv
: alid column name 'LocationID'. [S0022] [Microsoft][ODBC SQL Server Drive
: r][SQL Server]Invalid column name 'BusinessDate'. [S0022] [Microsoft][OD
: BC SQL Server Driver][SQL Server]Invalid column name 'ProblemCode'. [S00
: 22] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name '
: CauseCode'. [S0022] [Microsoft][ODBC SQL Server Driver][SQL Server]Inval
: id column name 'DBServerName'.
(FOC1414) EXECUTE IMMEDIATE ERROR.

This message has been edited. Last edited by: MattC,


WebFOCUS 8.1.05
January 15, 2009, 03:31 PM
FrankDutch
I see some SQL errors, maybe your tables in SQL have other names and fields.

I would create a MFD on that SQL Table and use that as the source.




Frank

prod: WF 7.6.10 platform Windows,
databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7
test: WF 7.6.10 on the same platform and databases,IE7

January 15, 2009, 03:37 PM
Francis Mariani
If I remember correctly, the HOLD file does not have the column names in mixed-case. You can verify that by adding ?FF SQLOUT after the first -RUN statement. I think you need to code the select statement like this:

select TOP 1 SiteNum AS SiteNum, LocationID AS LocationID...



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
January 15, 2009, 03:42 PM
MattC
Doing a little research, TABLE HOLD actually inserts the table into the SQL Server, and looking at the column names of this new table it does not match the columns in the table that I want to do the insert into.

I found that I need to drop the table when I am done.


WebFOCUS 8.1.05
January 15, 2009, 03:50 PM
FrankDutch
But if it works you should duplicate all the data in the original database.
Is that what you want?




Frank

prod: WF 7.6.10 platform Windows,
databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7
test: WF 7.6.10 on the same platform and databases,IE7

January 15, 2009, 04:02 PM
MattC
quote:
If I remember correctly, the HOLD file does not have the column names in mixed-case. You can verify that by adding ?FF SQLOUT after the first -RUN statement. I think you need to code the select statement like this:


select TOP 1 SiteNum AS SiteNum, LocationID AS LocationID...




That did the trick. I was able to get what I needed.

Thanks for helping me out.


WebFOCUS 8.1.05