I've got a text stream will be able to save like a txt file after which call sql server saved proc to bulkinsert that txt file.

But I'd rather not cope with file system access and all sorts of that stuff. and sqlBulkCopy can't get it done I beleive. What is the solution then?

When the incoming stream signifies rows for any table, you'll be able to write a custom IDataReader implementation that reads in the stream and presents each row consequently (non-buffered). After that you can feed this to SqlBulkCopy.

Example: https://groups.google.com/group/microsoft.public.dotnet.languages.csharp/msg/b1d70b504cdee2ad?hl=en&pli=1