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.
$ 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
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?