It's a subtle difference, but do think in terms of continuity:
"I've been working here since X" implies that you got there during time X, and didn't stop working since then. Like, all the time. Not impossible, but unlikely if X = 1999.
"I've worked there since X" implies that this has been your designated place of employment since X. Not that you have spent every single moment night and day in there since X.
Therefore, the second sentence is correct. The first is not strictly incorrect, but unlikely to reflect reality.
Think of the following examples, they are a little bit more clear
- "I have eaten three apples since this morning"
vs.
- "I have been eating three apples since this morning"
In this case, the first one is correct. Sometime between this morning (doesn't matter exactly when), you picked up and ate the first apple. Sometime later, you ate the second one. And a bit later than that, you ate the third. On the other hand, the first one implies that you spent all your time since the morning eating (continuously) these three apples. Maybe you nibbled them very slowly one after the other? Maybe you stuffed them all into your mouth at the same time and it took you until now to actually swallow them down? Which one of the above sentence is most likely to reflect what actually happened?
Another example:
- I have waited here for you all day.
vs.
- I have been waiting here for you all day.
Now, here, both are correct, the difference is in the emphasis. The first is a simple statement of fact. The second one means: "I did not do anything else all day apart from sit there and wait for you, all the time (the continuity thing again)". Choose the one that is most appropriate for the situation. In most cases, it tends to be the second one.