Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am using ArcGIS and arcpy to process some shapefiles. When I try to use the function

arcpy.JoinField_management()

the program stops and Python says that the tool is not licensed. This confuses me because the documentation for the tool does not ask for any special licenses.

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//001700000065000000

An extract of my code and the error follow (the code is quite long but I run it ineractively to check it as I go). Any help would be appreciated.

Regards, Alex

import arcpy
arcpy.env.workspace = 'C:/Data/'
arcpy.CheckOutExtension('Spatial')
outZSaT = arcpy.sa.ZonalStatisticsAsTable('mb06.shp', 'MB_NUM', 'slope', 'sum_slope.dbf', 'DATA', 'SUM')
arcpy.JoinField_management('mb06.dbf', 'MB_NUM', 'sum_slope.dbf', 'MB_NUM')

Traceback (most recent call last):
  File "<pyshell#2>", line 2, in <module>
    workspace + '/sum_slope7.dbf', 'MB_NUM')
  File "c:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\management.py", line 3667, in JoinField
    raise e
ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000824: The tool is not licensed.
Failed to execute (JoinField).
share|improve this question
    
If you provide your code, it will be easier to find the problem. One thought, based on a recent similar error, though basic, is did you include "import arcpy" as the first line in the code window? –  Get Spatial May 8 '12 at 4:18
    
Why don't you edit your question and paste your code into it. –  Get Spatial May 8 '12 at 4:45
    
Done, thank you. –  Alex May 8 '12 at 4:59

3 Answers 3

up vote 4 down vote accepted

This issue can be resolved by installing ArcGIS for Desktop SP3 (or the current SP4) http://files.eaglegis.co.nz/ArcGIS%2010/ArcGIS%2010%20Service%20Pack%204/ArcGIS%20For%20Desktop%20(Basic,%20Standard,%20Advanced)/

share|improve this answer
2  
Yes, I just got an email from ESRI support confirming that there is a bug and the licensing issue should be resolved in SP4. Alternatively, I have written a python function that uses arcpy.AddField_management() and arcpy.UpdateCursor() to emulate JoinField_management() without updating. –  Alex May 14 '12 at 1:26
    
@AlexOlssen, wow, talk about forgetting a basic question. Asking about the ArcGIS version is great, but the service pack is also critical! Glad you found a solution! –  Get Spatial May 29 '12 at 0:29

Alex, I edited my answer to remove the prior information, which was incorrect based on your input


I looked at the help file that you included in your question. It is for: Join Field (Data Management). The implementation code for that looks like the following:

import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])

This permanently joins fields from the "Join Table", to the "Input Table".

Here is the code that you entered in your script: Add Join (Data Management)

arcpy.AddJoin_management('mb06.dbf', 'MB_NUM', 'sum_slope.dbf', 'MB_NUM')

This function works with an "Input Table" that is a feature layer or a table view. In other words, it only works on featureclasses or tables that are loaded into ArcMap already.

What I would try is to modify your code as follows:

import arcpy
arcpy.env.workspace = 'C:/Data/'
arcpy.CheckOutExtension('Spatial')
outZSaT = arcpy.sa.ZonalStatisticsAsTable('mb06.shp', 'MB_NUM', 'slope', 'sum_slope.dbf', 'DATA', 'SUM')
arcpy.JoinField_management('mb06.dbf', 'MB_NUM', 'sum_slope.dbf', 'MB_NUM')

Give that a try when you get back in to work. Hopefully it will help. Sorry about the confusion earlier.

share|improve this answer
    
Hi, I am not at work and don't have access to ArcGIS right now. However, I have the spatial analyst license, and the code works perfectly without the last line. The file sum_slope.dbf is correctly created and can be loaded into ArcMap. Thus I don't know which parameter would not be valid. I will check the link you supplied first thing tomorrow. Thank you. –  Alex May 8 '12 at 6:38
    
@AlexOlssen, I modified my answer. It looks like you were referencing a different function in your script than the help file that you linked to. Hopefully this will work when you get back to the office. –  Get Spatial May 8 '12 at 7:17
    
Hi, now it is my turn to apologize! I have tried JoinField_management() and AddJoin_management() because the former wouldn't work. In an earlier version I used the exact code you suggested; I have just rechecked it and I get the same error. Moreover, in ArcMap, if I go to the "geoprocessing" drop down menu, select "search for tools", type "join field (data management)" and click the "toolboxes\system toolboxes\..." link, then the tool appears with a lock next to it. :( –  Alex May 9 '12 at 3:32
    
This is getting stranger, so let's back up a bit. First, I assume you are using ArcGIS 10. Are you using an evaluation copy, or something with a trial license of 60 days? There is another link on GISse that is also about this tool, from a couple months ago: python script has execution error first time through on a joinfield but not the second time. I'm running out of ideas here, but would suggest opening a support incident with ESRI!! –  Get Spatial May 9 '12 at 5:57
    
I think I will contact ESRI. I also found another person with the same problem forums.arcgis.com/threads/51041-Join-Field-Licensing-Issue. I am running a full version of ArcGIS 10 with the SA extension. Thanks for your help. –  Alex May 9 '12 at 20:54

look this page

http://resources.esri.com/help/9.3/arcgisdesktop/com/gp_toolref/geoprocessing_tool_reference/licensing_for_geoprocessing_tools.htm

if you use arcview or arceditor the join field tool is not supported.

you can try add field tool and normal join tool and then use calculate field and finaly use remove join, you can do that using model builder and export to pyton script.

another thing that you must do is check your licence, you can have installed arcinfo but in the desktop administration already use arcview or arceditor.

share|improve this answer
    
That page is for ArcGIS 9.3. @Djmapper gave the correct answer; I got the same thing from ESRI. JoinField_management should be in all licenses of ArcGIS 10, however in SP1 and SP2 there is a bug with the licensing. If you upgrade to SP3 or SP4 then everything works fine. –  Alex May 25 '12 at 23:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.