Problem refreshing an Oracle table in MapInfo that's been updated in Oracle
Dear all
I am doing some digitising work in MapInfo Professional 8, using a table stored in Oracle 10.2g. I have completed the bulk of my digitising and the polygons have been written back to the Oracle database without any issues.
As I am working with several maps coving the same area, but from different dates, I have simply been copying the shapes from one field to another, for areas that are the same on other maps. This avoids having to digitise an area more than once.
Here is an example of my table:
map_index_id original_map_publication_id name_of_feature geographical_coordinates
5000840 200016 NORTH STREET MDSYS.SDO_GEOMETRY [1a]
5000841 200016 NORTH STREET QUADRANT MDSYS.SDO_GEOMETRY [2a]
5000843 200016 OLD STEINE MDSYS.SDO_GEOMETRY [3a]
5000955 200021 NORTH STREET null [1b]
5000956 200021 NORTH STREET QUADRANT null [2b]
5000957 200021 OLD STEINE null [3b]The idea is that the geometry of 1a is copied to 1b, 2a to 2b and so on. The script I am using to do this, is as follows:
undefine name_of_feature_to_be_used
undefine name_of_feature_to_be_updated
UPDATE MAP_INDEX B
SET (B.geographical_coordinates) =
(SELECT A.geographical_coordinates
FROM MAP_INDEX A
WHERE A.original_map_publication_id=&&original_map_to_be_used
AND A.name_of_feature='&&name_of_feature_to_be_used')
WHERE B.original_map_publication_id=original_map_to_be_updated
AND B.name_of_feature='&&name_of_feature_to_be_updated';That works okay. The problem I have is that whenever I make changes to the geographical_coordinates column, which is an sdo_geometry column, the changes are not then being picked up by MapInfo Professional when I click refresh DBMS table in that program.
If I make additional changes in MapInfo and then save the table out, it simply wipes all the changes I have made in Oracle, using my above SQL script.
I believe what happens when a table is first made mapping in MapInfo, is that MapInfo takes the Oracle sdo_column: geographical_coordinates and links this to a MapInfo column called obj , since MapInfo seems to only allow the spatial column to be called obj. All other columns are brought in using their Oracle names. What I think it isn't doing though, is relinking this column at any point afterwards.
Am I correct and if so, does anyone have a away round this problem? I made my Oracle table "download table [link to Oracle]". Would keeping the table live, make any difference?
Kind regards
Tim
Hi Ivan and everyone
Thank you for your reply. The geometries are not always the same. I have now found out what the problem is and how to solve it and I will explain this for the benefit of others.
When I update a spatial column for a row ,outside of MapInfo Professional 8, it is not picking up the updates.
When I update a non-spatial column for a row, outside of MapInfo Professional 8, it is picking up the updates.
When I update a non-spatial column and a geometry column for a row, outside of MapInfo Professional 8, it is picking up the updates for both columns.
Therefore a solution to my problem is to create an additional non-spatial column, which I update everytime I copy the geometry values. Then when I refresh the table in MapInfo, it will pick up the geometry changes. I do not understand why MapInfo will not pick up the updates to the spatial columns on their own but it is not doing this.
I did a test to see what would happen if I updated three rows where all three rows had there geometry values updated but only two rows had a non-spatial column value updated.
When opened up the table in MapInfo, using the following MapInfo SQL:
Select * From "user name here"."MAP_INDEX_FOR_MAPINFO_USE"
WHERE not GEOGRAPHICAL_COORDINATES Is Null
AND original_map_publication_id=200010
AND original_map_sheet_number_id=330010it brought in only the two rows whose non-spatial column had been updated. The row where only it's spatial column was amended, was not brought in. There was no other rows brought in because no other row for that publication and sheet had been updated.
Why this is occurring I do not know. It may be that issue was resolved in later versions of MapInfo. I am very happy to have found a solution to my problem. However I do feel it is something I should not be having to do in the first place, no matter how pleased I am to have found a solution.
Kind regards
Tim
Similar Messages
-
How to see the table in se11 that has been created in oracle 10g directly
hi,
how to see the table in se11 that has been created at SQL> prompt in oracle 10g directly ?
is there any procedure to attache directly created table into sap ?I think you have to create it in SE11 first. Although you can probably use native SQL to access it from an ABAP program.
Rob -
I have a 64gb ipad mini that's been updated to iOS 7.0.4. Lately it's been shutting down in the middle of almost any app and the screen goes black and then the apple logo appears as if I've done a hard reset. I've tried both soft and hard resets but with no results. Sometimes thes happens several times in a row. Does anyone have any ideas? I did read discussions and close running apps to make sure there is enough memory. In the past this sort of happened (rarely) and it just left an app and went to the home screen, but this is a total shutdown.
I think you have covered most of everything that you could possibly do at this point other than restoring the iPad iOS software. That's what I would try now. If that doesn't fix it, make an appointment at an Apple Store and ask a genius to evaluate the problem for you.
Use iTunes to restore your iOS device to factory settings -
We are using App-V 5.0 SP1.
I have a package that will need to get patched whenever new security updates are released. The first version of the application always works fine, but when I update the application and re-publish it, a normal user is unable to pull down the new version.
When this occurs I am able to get everything going by logging into the server with an admin account and performing a sync (Get-AppvPublishingServer | Sync-AppvPublishingServer; Get-AppvClientApplication"). What is it about applications that
have been updated that would cause this behavior?
The issue is similar to what the hotfix below addresses, but since we are on 5.0 SP1 I am unsure if this applies still.
http://support.microsoft.com/kb/2799153?wa=wsignin1.0
You publish a Version 1 package of an application on a server
You log on to the client by using a user account
You confirm that the Version 1 package of Application Virtualization 5.0 is synched, and then you log off the client.
You publish a Version 2 package of an application, and then you remove the Version 1 application
You log on to the client by using a user account.
The application is not published to the userHello,
Have you verified the event-logs if the attempt to publish the package is visible there (successful or failed)?
Nicke Källén | The Knack| Twitter:
@Znackattack -
Displaying the rows that have been updated....
SQL> select * from spr;
EMP_NAME EMP_no age sex
hry 45353 42 M
spt 43436 34 M
pen 34533 21 M
aen 65475 33 M
SQL> select * from sprfac;
EMP_NAME EMP_no age sex Appraisal Extra_Time
hry 45353 N N
spt 43436 N N
pen 34533 N N
aen 65475 N N
I have a problem regarding updating the sprfac table.
What i need is to satisfy the following conditions and update the second table with values in the second table.
I need to upadate the second table when:
1. The emp_name and emp_no of first table matches with the second table and
2. The Appraisal field and extra_time field should be 'N' in the second table and
3. only if the values of age and sex are NULL.
Let me explain in detail.
My original table is sprfac. spr is Temporary Table.
I have some data in flat files and i have loaded all the data into a temporary table using sqlloader. Now i need to update the second table.
Originally the age and sex fields in the sprfac table are NULL. Once i update the age and sex fields in the sprfac table again if i do update it should not update the rows which have data in age and sex columns.
Suggest me how to update multiple columns simultaneously or send me the code for the update statement if possible.
NOTE: I have changed the tablenames and column names since i cannot keep the original tables here.
And i got the following reply........
update sprfac a
set (a.age, a.sex) = (select b.age, b.sex from spr b
where a.emp_name = b.emp_name
and a.emp_no = b.emp_no
and appraisal = 'N'
and extra_time = 'N')
where a.age is null
and a.sex is null;
Everything is working fine.
Is there any way to send the name and age fields which have been updated of sprfac to a file.
should i use cursors....
Send me the code if possible....
Thanks..........You can try similar to this, if you have oracle 9i. In 8i merge does not work. In that case u have cursor.
merge into EMP e1
using akg_emp e2
on ( e2.empno = e1.empno AND e1.sal > 1000 AND <whatever condition on e1>)
when matched then
update set e1.sal = 100
when not matched then
insert ( empno, ename, job, mgr, hiredate, sal, comm, deptno )
values ( e2.empno, e2.ename, e2.job, e2.mgr, e2.hiredate, e2.sal, e2.comm,
e2.deptno ) -
Any Good Apps That Have Been Updated For iOS 4?
So I'm trying to find some good apps that really take advantage of the iOS 4 new features. Was just curious if anyone's using an app that was recently updated with the notes that it supports iOS 4. I know Fandango does, but it doesn't really have any iOS 4 features built-in...
http://www.youtube.com/watch?v=3ALrWA8KTOwJust checked (literally), not yet. :'( I really want Skype and Pandora to update. Those are my two ones that I'm waiting for.
-
We run a SBS 2003 Exhange box, however since an over-the-air update this particular handset has refused to recieve mail from Exchange (apparently Yahoo had issues too).
Authentication is fine, it will happily recognise the account if it is deleted and set up - once the user tries to recieve mail however it will annonce that the connection to the server failed.
We have several other devices on the same iOS version and others below which are working fine!
Mobile access is enabled along with all expected services with no errors being flagged in the event manager for this user - I'm not wondering what might be the cause! Something in his mail box that iOS 5.1.1 doesn't like?!
Short of a backup/restore of the device I'm can't see anything to help...It would worth your asking in the Final Cut Pro X forum - someone else may have experienced the same problem.
I assume you have already trashed Preferences/ByHost/com.apple.dotmac... (several files beginning with this) and (same path) com.apple.idisk - though I suspect the problem lies rather with the individual programs which are trying to access something on the non-existent iDisk. -
Does the Apple USB Ethernet Adapter work with a MacBook Air that's been updated to Lion?
I saw a comment at the online Apple store that the USB Ethernet Adapter didn't work with Lion. Anyone else have experience with the adapter?
Just point the tech rep to the apple website that lists the Ethernet to USB system requirements as:
"Overview
The Apple USB Ethernet Adapter is a simple, one-piece external adapter that plugs into the USB 2.0 port of your MacBook Air to provide 10/100BASE-T performance. Simply plug your Ethernet cable into the RJ-45 connector — no external power is required. It’s small, light, easy to install, and even easier to use.
Technical Details
USB 2.0 with bus power
10/100BASE-T (RJ-45 connector)
What's in the Box
Apple USB Ethernet Adapter with built-in 4.6-inch USB cable
User's Guide
System Requirements
MacBook Air computer with available USB 2.0 port"
Note that there is no mention of a specific OS requirement.......Cut and pasted from apple.com. -
how do i install an older compatible version of pandora? I have an older 3G iphone i want to stream music from. OS is 4.2.1 and basically nothing installs and the OS will not upgrade past that OS version.
You could try this.
On your PC - download the latest version of the App.
Once downloaded, select the App for syncing to your Phone.
You will get a message saying it is not compatible.
If you are lucky it may offer a previous version as an alternative.
Worth a try. It has worked on several apps on my old version 2 iPod. -
Pre-update, you used to be able to send an email to one of your predefined "Groups" by merely typing the "Group" name into the address field. Post-update, this no longer appears to work. Post update, typing the "Group" name into the address field gets you absolutely nothing. Now I seem to have to add each individual recipient into the address field, something I thought developing predefined "Groups" would save me from having to do each and every time. Does anyone know of any viable solutions for this?
You have to add each one, 1 at a time using the + button.
-
I'm looking to buy a used 2007 or 2008 imac. For some reason none of them seem to come with the orig. install discs, & most have been updated to either Snow leopard, or Lion. (It may sound odd to want to do this, but I have an Epson 545 printer, & the "Epson Scan" works with Mac OS X 10.5.8, but not 10.6.x or 10.7.x). Would it be as simple as wiping the hard drive, & downloading OS X 10.5.8? TIA!
You need to install 10.5.8 from a compatible install DVD onto a blank partition or drive; you don't necessarily need to erase the entire internal drive, but if you choose to repartition it, you may lose the ability to use Boot Camp.
(74348) -
After ios 7, apps that has been updated still remain in update list in App Store
After updating to the ios 7, whenever I update my apps, even after it's been updated it still stays in the updated list in the App Store. This applies both to my iphone 5 and iPad mini. Is there a way to resolve this? Am I the only one facing this issue?
If this is occurring with apps from multiple vendors, try a reset: Simultaneously hold down the Home and On buttons until the device shuts down. Ignore the off slider if it appears. Once shut down is complete, if it doesn't restart on it own, turn the device back on using the On button. In some cases it also helps to double click the Home button and close all apps BEFORE doing the reset.
If from a single app, or apps from the same vendor, you may need to reach out to the vendor.
I'm not having any issues with Magazine apps. -
Dear sirs,
now i want to send oracle table to excel that is through forms 6i
and i used ole2 package but i can send the column fields name and i want to put as 3 lines as a header for the table name and date
anybody help me please
Thanks in advance
Yasserhi
try this code.
PROCEDURE test IS
i_reporttitle VARCHAR2(200) := 'My excel';
dno number(2);
dn varchar2(14);
dl varchar2(13);
r number := 2;
c number := 1;
i_orientation VARCHAR2(200) := '1';
i number :=1;
/* definiton for commonly used variables and constants and exceptions */
ExcelID ole2.obj_type;
ExcelWorkBooksID ole2.obj_type;
ExcelWorkBookID ole2.obj_type;
ExcelWorkSheetsID ole2.obj_type;
ExcelWorkSheetID ole2.obj_type;
ExcelCellID ole2.obj_type;
ExcelFontID ole2.obj_type;
ExcelPageSetupID ole2.obj_type;
ExcelArgs ole2.list_type;
BEGIN
ExcelID := ole2.create_obj('Excel.Application');
ExcelWorkBooksID := ole2.get_obj_property(ExcelID, 'Workbooks');
ExcelWorkBookID := ole2.invoke_obj(ExcelWorkBooksID, 'Add');
ExcelWorkSheetsID := ole2.get_obj_property(ExcelWorkBookID, 'Worksheets');
ExcelWorkSheetID := ole2.invoke_obj(ExcelWorkSheetsID, 'Add');
ExcelPageSetupID := ole2.get_obj_property(ExcelWorkSheetID, 'PageSetup');
ole2.set_property(ExcelPageSetupID, 'Orientation',i_orientation);
ole2.release_obj(ExcelPageSetupID);
loop
go_block('dept');
ExcelArgs := ole2.create_arglist;
ole2.add_arg(ExcelArgs,i);
ole2.add_arg(ExcelArgs,c);
ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId,'cells',ExcelArgs);
ole2.destroy_arglist(ExcelArgs);
ole2.set_property(ExcelCellId, 'Value', :dept.deptno);
ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
ole2.set_property(ExcelFontId, 'Bold', 'True');
ole2.set_property(ExcelFontId, 'Size', '10');
ole2.release_obj(ExcelFontId);
ole2.release_obj(ExcelCellId);
ExcelArgs := ole2.create_arglist;
ole2.add_arg(ExcelArgs,i);
ole2.add_arg(ExcelArgs,c+1);
ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId,'cells',ExcelArgs);
ole2.destroy_arglist(ExcelArgs);
ole2.set_property(ExcelCellId, 'Value', :dept.dname);
ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
ole2.set_property(ExcelFontId, 'Bold', 'True');
ole2.set_property(ExcelFontId, 'Size', '10');
ole2.release_obj(ExcelFontId);
ole2.release_obj(ExcelCellId);
ExcelArgs := ole2.create_arglist;
ole2.add_arg(ExcelArgs,i);
ole2.add_arg(ExcelArgs,c+2);
ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId,'cells',ExcelArgs);
ole2.destroy_arglist(ExcelArgs);
ole2.set_property(ExcelCellId, 'Value', :dept.loc);
ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
ole2.set_property(ExcelFontId, 'Bold', 'True');
ole2.set_property(ExcelFontId, 'Size', '10');
ole2.release_obj(ExcelFontId);
ole2.release_obj(ExcelCellId);
exit when :SYSTEM.LAST_RECORD = 'TRUE';
next_record;
i := i+1;
end loop;
ExcelArgs := ole2.create_arglist;
ole2.add_arg(ExcelArgs,i+1);
ole2.add_arg(ExcelArgs,1);
ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId,'cells',ExcelArgs);
ole2.destroy_arglist(ExcelArgs);
ole2.set_property(ExcelCellId, 'Value', 'END');
ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
ole2.set_property(ExcelFontId, 'Bold', 'True');
ole2.set_property(ExcelFontId, 'Size', '10');
ole2.release_obj(ExcelFontId);
ole2.release_obj(ExcelCellId);
ole2.set_property(ExcelID, 'Visible','TRUE');
-- ... and release the allocated resources because they are no longer used by forms
ole2.release_obj(ExcelWorkSheetID);
ole2.release_obj(ExcelWorkSheetsID);
ole2.release_obj(ExcelWorkBookID);
ole2.release_obj(ExcelWorkBooksID);
ole2.release_obj(ExcelID);
END;try this code too.
PROCEDURE FormToExcel IS
i_reporttitle VARCHAR2(200) := 'My excel';
dno number(2);
dn varchar2(14);
dl varchar2(13);
r number := 2;
c number := 1;
i_orientation VARCHAR2(200) := '1';
i number :=1;
/* definiton for commonly used variables and constants and exceptions */
ExcelID ole2.obj_type;
ExcelWorkBooksID ole2.obj_type;
ExcelWorkBookID ole2.obj_type;
ExcelWorkSheetsID ole2.obj_type;
ExcelWorkSheetID ole2.obj_type;
ExcelCellID ole2.obj_type;
ExcelFontID ole2.obj_type;
ExcelPageSetupID ole2.obj_type;
ExcelArgs ole2.list_type;
BEGIN
ExcelID := ole2.create_obj('Excel.Application');
ExcelWorkBooksID := ole2.get_obj_property(ExcelID, 'Workbooks');
ExcelWorkBookID := ole2.invoke_obj(ExcelWorkBooksID, 'Add');
ExcelWorkSheetsID := ole2.get_obj_property(ExcelWorkBookID, 'Worksheets');
ExcelWorkSheetID := ole2.invoke_obj(ExcelWorkSheetsID, 'Add');
ExcelPageSetupID := ole2.get_obj_property(ExcelWorkSheetID, 'PageSetup');
ole2.set_property(ExcelPageSetupID, 'Orientation',i_orientation);
ole2.release_obj(ExcelPageSetupID);
loop
go_block('t');
ExcelArgs := ole2.create_arglist;
ole2.add_arg(ExcelArgs,i);
ole2.add_arg(ExcelArgs,c);
ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId,'cells',ExcelArgs);
ole2.destroy_arglist(ExcelArgs);
ole2.set_property(ExcelCellId, 'Value', :t.a_number);
ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
ole2.set_property(ExcelFontId, 'Bold', 'True');
ole2.set_property(ExcelFontId, 'Size', '10');
ole2.release_obj(ExcelFontId);
ole2.release_obj(ExcelCellId);
exit when :SYSTEM.LAST_RECORD = 'TRUE';
next_record;
i := i+1;
end loop;
ExcelArgs := ole2.create_arglist;
ole2.add_arg(ExcelArgs,i+1);
ole2.add_arg(ExcelArgs,1);
ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId,'cells',ExcelArgs);
ole2.destroy_arglist(ExcelArgs);
ole2.set_property(ExcelCellId, 'Value', 'END');
ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
ole2.set_property(ExcelFontId, 'Bold', 'True');
ole2.set_property(ExcelFontId, 'Size', '10');
ole2.release_obj(ExcelFontId);
ole2.release_obj(ExcelCellId);
ole2.set_property(ExcelID, 'Visible','TRUE');
-- ... and release the allocated resources because they are no longer used by forms
ole2.release_obj(ExcelWorkSheetID);
ole2.release_obj(ExcelWorkSheetsID);
ole2.release_obj(ExcelWorkBookID);
ole2.release_obj(ExcelWorkBooksID);
ole2.release_obj(ExcelID);
END;sarah
Edited by: QGIRCO on Jan 20, 2010 12:59 AM -
Record .txt to oracle table
I need moving records from .txt to oracle table. It is used in a System Oracle, then I can not use the utl_file or sql-loader. This moving will do step by step.
funny, that you get that short error. I get:
select * from test
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-00554: error encountered while parsing access parameters
KUP-01005: syntax error: found "nobadfile": expecting one of: "column, debug, exit, fields, records"
KUP-01007: at line 1 column 1
ORA-06512: at "SYS.ORACLE_LOADER", line 19
ORA-06512: at line 1so, remove the unknown word "nobadfile", and it works fine. thank god that I have the verbose error handler! -
Insert /delete data from SAP Z table to Oracle table and opposite
Hi,
Can u help me write this FM from the SAP side?
So, I have two tables ZTABLE in SAP and Oracle table ORAC.
Let's put three columns in each of them, for example
TEL1
TEL2
ADRESS
NAME
where TEL field is primary from ZTABLE to ORAC...
(in FM there shoud be abap code for writing data in ZTABLE after we press some pushbutton made in sap screen painter..)
for example, when we write new record in ZTABLE
00
112233
Street 4
Name1
this data shoud be inserted in Oracle table ORAC.
when we write new record in Oracle table for example
01
445566
New Street
Name2
this data shoud be inserted in ZTABLE.
Field TEL1 can be only of two values 01 or 02, other combination is not valid...
I must have all data from Oracle table ORAC in ZTABLE and opposite.
It should be the same scenario for DELETE...
And this communication should be online between sap and table in oracle database...
Can u help me from sap side? and give idea how to configure on oracle side??
Thanks a lot,
NihadI dont know if we can directly connect to a oracle database ( wait for the answers from others on this )
but in XI we have the JDBC adaptor to insert and retrieve data.
so for the outbound from SAP the flow can be something like this (with XI in landscape):
1) You have a screen to maintain a new entry / delete an entry
2) On save , this record gets saved or deleted from the Ztable in SAP
3)) In the same screen you can call a proxy class-method (generated using SPROXY transaction ) to send the record to XI.
4) XI to format it and insert into the oracle table
Mathews
Maybe you are looking for
-
Ipod is recognised under my computer but wont work in itunes,
My ipod worked fine on my old computer i dont think i had the most recent itunes but everything was working fine i had windows XP. Now i have a new laptop with windows 7 and my ipod wont work in itunes, i have uninstalled and reinstalled itunes 9 and
-
I downloaded 2 updates (download only), and there's two .msi files and one setupadmin.exe file. I click the latter and nothing happens? How am I meant to do install these updates?
-
I have a page that is a FAQ page and since there are many FAQ's I want to make a list of just the questions at the top of the page and then you click on one question and it brings you further down the page to the answer so that you don't have to read
-
Is CS4 compatible with Windows 8?
Has anyone succeeded in installing Photoshop CS4 in a new Windows 8 OS?
-
5508 WLC and 1532 Outdoor AP's
Is it possible to set up an outdoor mesh using AP1532's connected to the 5508 WLC running latest code (7.6.110.0)?