Code:
$ ls -l a.out
-rwxrwxr-x 1 user usergroup 8844 2013-02-10 14:06 a.out
$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
$ file bar.c
bar.c: ASCII C program text
First you do "ls -l" on your main file. Is it marked as executable? (that's the first 'x' in the rwxrwxrwx permissions) If it isn't, then you can't execute it.
Then you use the "file" command to see what kind of file it is. If it lacks any mention of "executable" (like bar.c has, which is just C program text), then you can't execute it.
Now do "ls -l" on your data file. Is it owned by you? does it have 'r' permissions on it?