Okay, for those of you having trouble making TRIGGERS in Oracle using ADO.NET, I may have, after about an hour of beating my head against the wall, figured out the culprit.

Here's the code I was trying:
create or replace trigger trigEntities before insert on entities for each row begin select seqEntities.nextval into :new.entityId from dual; end;
(Originally it had nice whitespace and everything, but I was trying to get rid of any unknowns there)

Here's the error I was getting:
PLS-00103: Encountered the symbol "" The symbol "" was ignored.

The trick there, of course, is that the "nothing" within the quotes is a carriage return. Why it's not splitting the error message into multiple lines, we'll ignore for now (in Oracleland, that's not a linebreak, I suppose).

So yes, that's the culprit: The carriage return. It appears that Oracle doesn't like carriage returns inside of triggers, though it'll forgive them in, say, table create statements with whitespace that includes an 0D (hex for 13 decimal).

How to get around it? Well, luckily that's pretty easy. Here's the code:
strSql = Me.GetFileContents("C:\files\" & strName & ".sql")
strSql = Replace(strSql, vbCr, "")
Console.WriteLine(strSql)


Don't tell me I ain't never given ya nuttin.