Toad World® Forums

Error in HTML Schema Doc Generator

Cannot create file “\.\CON”. El sistema no puede encontrar el archivo especificado

¿Qué escribe aquí? Utilice "C:" o algo así - una carpeta real, no "\."

here are mine 5c thoughts.

You can’t make folders on the desktop that have “System Action” or “Device” references such

as con, nul and prn. Solution is to use another name or use 0 instead of o,O for C0n.

Here are others :

CON, PRN, AUX, CLOCK$, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9,

LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9

But why is Toad understanding such a name … have no clue.

When toad needs to do any work with a file name - it calls a Delphi function such as file open or file write or whatever - and all such functions in any language call out to Windows functions to perform that specific file action - and Windows honors those “reserved names”. That’s "standard " windows app behavior.

I have found that the error occurs when TOAD will create the html table file named CON

Exactly - as Damir rightly pointed out that is one of those old DOS reserved words that Windows honors - it’s just like using a reserved word in SQL - just don’t do it :slight_smile:

Ok, thank you very much everyone, but I will not be able to change the name because it is an external schema

Interesting point.

Maybe Dell’s developers might parse names and replace only filenames adding “_1” as sufix at the end of filename? I’m pretty sure that such a parsing is done in a case when some objects have the same name so avoid overwrite content in such a cases.

I strongly suggest to place this problem on Ideapond and see if this will be acceptable task for any further version.

I get that you say you cannot change the file name - but what you want is specifically to be avoided (i.e. bad practice) and not common enough to warrant coding around. From MSDN website (msdn.microsoft.com/…/aa365247(v=vs.85).aspx) :

Do not use the following reserved names for the name of a file:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9. Also avoid these names followed immediately by an extension; for example, NUL.txt is not recommended. For more information, see Namespaces.

We already have code to replace filename characters with underscores. It’s easy to add checks for these reserved words in the same place. It’s fixed for 12.7.

It’s easy to add checks for these reserved words in the same place.

I’m not too familiar with option where you can say to alter different file name of object (i.e. TABLE or PACKAGE). Could you please tell us how?

Damir, there is no option.

The HTML schema doc generator produces files with the same name as your objects in the database. But if a database object name contains a character that is not a valid windows filename character, Toad will replace that character with an underscore when it writes the corresponding html file. We don’t do anything to the object in the database. I just made a change so that these windows reserved words will be handled too.

John,

great!

Thank you.