"File-Stream"が有効なデータベースがあります。私は "ファイルストリーム"属性を持つ列を持つテーブルを作成し、テーブルに正常に行を記録することができます。だから、私が持っているものは、 "ファイルストリーム"にBLOBとして保存されている画像です。ファイルストリームデータメソッドへのアクセス(T-SQLおよびマネージAPI)
私の問題は何ですか?
私はこの画像を入手して、古典的なaspを使用してWebブラウザで表示する必要があります(私はこのサーバ言語では初心者ですが、asp.netを使用することはできません)。私は多くを検索して読み込みました(asp.netでこれを行うことについての多くの情報があり、古典aspでこれを行う方法を示すものはほとんどありません)。
「TSQLを使用したFILESTREAMデータへのアクセス」および「管理APIを使用したFILESTREAMデータへのアクセス」
私が理解して使用できる最初のものです。 2番目の(vb.netコードの例があります)私はできませんでした。
‘Create a connection to the database
Dim ConStr As String
ConStr = "Data Source=JACOBXPS\katmaifs;Initial Catalog=NorthPole" & _
";Integrated Security=True"
Dim con As New SqlConnection(ConStr)
con.Open()
'Retrieve the FilePath() of the image file
Dim sqlCommand As New SqlCommand()
sqlCommand.Connection = con
sqlCommand.CommandText = "SELECT ItemImage.PathName() AS PathName " + _
"FROM items WHERE ItemNumber = 'MS1001'"
Dim filePath As String = sqlCommand.ExecuteScalar()
'Obtain a Transaction Context
Dim transaction As SqlTransaction = con.BeginTransaction("ItemTran")
sqlCommand.Transaction = transaction
sqlCommand.CommandText = "SELECT GET_FILESTREAM_TRANSACTION_CONTEXT()"
Dim txContext As Byte() = sqlCommand.ExecuteScalar()
' Open and read file using SqlFileStream Class
Dim sqlFileStream As New SqlFileStream(filePath, txContext, FileAccess.Read)
Dim buffer As Byte() = New Byte(sqlFileStream.Length) {}
sqlFileStream.Read(buffer, 0, buffer.Length)
'Bind the image data to an image control
Dim ms As MemoryStream = New MemoryStream(buffer)
Dim bmp As Bitmap = New Bitmap(ms)
ItemImage.Image = bmp
'Cleanup
sqlFileStream.Close()
sqlCommand.Transaction.Commit()
con.Close()
は、私は、従来のASPでこれを変換することができませんでしたが、同じ記事で、私はもっとイライラする何かを読んでいます:
この
はコードですTSQLを使用してFILESTREAMデータへのアクセスSQL Serverは> FILESTREAMデータファイルの内容を読み取り、それをクライアントに提供します。 SQL Serverメモリは、データファイルの内容を読み込むために使用されます。 Win32 Streamingを使用してFILESTREAMデータにアクセスすると、SQL Serverメモリが使用されません。さらに、アプリケーションは、NTファイルシステムの>ストリーミング機能を利用することができます。
私の本当の問題は何ですか?
古典的なaspで使用できるvb.netのコード変換を行うことができますか?可能であれば、私は "ファイルストリーム"を使用して未来を有効にし、ウェブにデータを表示したいと考えています。デスクトップアプリケーションを使用すると遅くなりますか?
私はかなり混乱していますし、読んだ記事の回答やリンクに感謝します。