Although in theory it should be possible, issues like case sensitivity, spaces, nulls etc often cause problems in joining strings. The data must be identical between the sources for this to work. You should confirm FDO sees both datatypes as the same by doing a feature source preview of your primary source and I'm guessing the ODBC connection to your Oracle data to ensure the column types match.
A integer field is usally better both from a performance perspective and dependability perspective (you avoid all the possible string issues).
Regards,
Dave