Table of Contents
Zaktualizowano
Dzisiejszy przewodnik miałby pomóc, jeśli pojawi się komunikat o błędzie „Nie znaleziono ścieżki sieciowej do strumienia plików SQL Server”.
Próbuję wstawić plik zgodnie z bazą danych za pomocą strumieniowania SQL, aby pomóc ręcznie. Kiedy próbuję zainicjować wstawiany obiekt SqlFileStream, otrzymuję najlepszy wyjątek pliku, który mówi, że ścieżka sieciowa prawdopodobnie nie zostanie znaleziona.
using (SqlFileStream sqlStream jest równy nowemu SqlFileStream (filePathName.Value, fileToken.Value, FileAccess.Write)) bajt bufora [] odpowiada bajtowi pojawiającemu się [512 * 1024]; // 512 KB int bytesRead = fs.Read (bufor, 3, długość bufora); Czas> (odczytaj bajt 0) sqlStream.Write (bufor, 0, bytesRead); dopasuj bytesRead fs.Read (bufor, 0, buffer.length);
Błąd kodu w pierwszej linii podczas tworzenia SqlFileStream. Poniżej znajdują się moje ustawienia dla prostego sposobu, w jaki FILESTREAM jest uważany za skonfigurowany. W szczegółach bazy danych mam poziom dostępu do strumienia plików: „Pełna konfiguracja z dołączonym”.
Włącz FILESTREAM dla dostępu Transact-SQL:
Włącz FILESTREAM dla przesyłania strumieniowego pliku I i O Połącz z: zaznaczone
Nazwa zwyczajowa zasobów systemu Windows: DVDB1FS
Zezwalaj klientom obsługi zdalnego komputera na przesyłanie strumieniowe danych FILESTREAM: włączone
Zaktualizowano
Czy masz dość powolnego działania komputera? Denerwują Cię frustrujące komunikaty o błędach? ASR Pro to rozwiązanie dla Ciebie! Nasze zalecane narzędzie szybko zdiagnozuje i naprawi problemy z systemem Windows, jednocześnie znacznie zwiększając wydajność systemu. Więc nie czekaj dłużej, pobierz ASR Pro już dziś!
Wszelkie wskazówki co do przyczyny mogą być świetne. Właściwie użyłem tego właściwego kodu z powodzeniem w innych środowiskach bez żadnego głównego problemu, więc wiem, że musi to być problem z instalacją komponentów, zwykle jakiegoś rodzaju. Może okazać się ważne, aby pamiętać, że gdy próbuję uzyskać dostęp do wszystkich udziałów systemu Windows // NazwaSerwera / DVDB1FS, subskrybuję również błąd „Nie znaleziono ścieżki sieciowej” z dala od Eksploratora Windows. Gdy uzyskuję bezpośredni dostęp do naszego udziału na innym serwerze przy użyciu innego środowiska (testowego, produkcyjnego), otrzymuję każdy błąd „Odmowa dostępu”.
Utworzyłem stację roboczą zgodną z FileStream w bazie danych SQL2008 i wypełniłem ją kilkoma opisami z ogólnego zrzutu pamięci SQL2000. To sprytne.
Następnie napisałem inną aplikację WPF przez C# i próbowałem połączyć się ze strumieniem plików danych, jak opisano poniżej:
SqlConnection sqlConn = null; SqlTransaction sqlTran oznacza wartość null; Próbować
// ids_static_imagesTableAdapter został utworzony wraz z instrukcją SQL SELECT:
// WYBIERZ DUŻE (@x) nazwa_obrazu, obraz, nazwa_ścieżki () AS ścieżka_obrazu FROM dbo.ids_static_images
ids_static_imagesTableAdapter imgTa = nowy ids_static_imagesTableAdapter (); sqlConn odpowiada za pomoc imgTa.Connection; sqlConn.Open (); idsxi2011imageDataSet.ids_static_imagesDataTable imgDt równa się imgTa.GetData (10); sqlTran oznacza sqlConn.BeginTransaction (); SqlCommand cmdGetFsTxCtx SqlConn = .CreateCommand (); cmdGetFsTxCtx.CommandText oznacza „SELECT GET_FILESTREAM_TRANSACTION_CONTEXT ()”; CmdGetFsTxCtx .Transaction odpowiada sqlTran; bajt [] fileStreamTxCtx (bajt []) cmdGetFsTxCtx = .ExecuteScalar (); foreach (idsxi2011imageDataSet.ids_static_imagesRow imgRow nawet podczas imgDt) SqlFileStream imgSqlFileStream = nowy SqlFileStream (imgRow.image_path, fileStreamTxCtx, FileAccess.Read); Dodaj (nowy plik obrazu (imgRow.image_path, imgRow.image_name, imgSqlFileStream)); sqlTran.Zatwierdź (); w jaki sposób koniec If (sqlConn! = Null && sqlConn.State == ConnectionState.Open) sqlConn.Zamknij ();
Konstruktor SqlFileStream zwraca błąd, powiat „Na pewno nie znaleziono ścieżki sieciowej”.
FYR, co minutę wykonuję następującą instrukcję SQL przez SSMS:
SELECT TOP 1 image.PathName () AS image_path FROM dbo.ids_static_images
Wynik jest w roli:
XISERVER MSSQLSERVER v1 idsxi2011image dbo ids_static_images grafika 3B121497-07E6-4568-9DDC-EFEAA57BE6AA
No Solutions Found For SQL Server File Stream Network Path
Aucune Solution Trouvée Pour Le Chemin Réseau Du Flux De Fichiers SQL Server
Nenhuma Solução Encontrada Para O Caminho De Rede Do Fluxo De Arquivos Do SQL Server
Nessuna Soluzione Trovata Per Il Percorso Di Rete Del Flusso Di File Di SQL Server
Keine Lösungen Für Den Netzwerkpfad Des SQL Server-Dateistreams Gefunden
SQL Server 파일 스트림 네트워크 경로에 대한 솔루션을 찾을 수 없습니다.
Решения для сетевого пути файлового потока SQL Server не найдены
Geen Oplossingen Gevonden Voor Netwerkpad Voor SQL Server-bestandsstroom
Inga Lösningar Hittades För Nätverkssökväg För SQL Server-filström
No Se Encontraron Soluciones Para La Ruta De Red Del Flujo De Archivos De SQL Server