2
SQL Server 2008を使用してデータベース内に.pngイメージを格納しようとしています。これはmySQLを使用して正常に処理しましたが、何らかの理由でms SQLサーバー:イメージをSQL Server 2008 R2データベースに保存する
0x89504E470D0A1A0A0000000D49484452000003160000031608060000006CBE..etc etc etc
列のデータ型がimageに設定されています。
そして、ここでは、私がシステムに挿入するために使用していたコードです:
Dim SQL As String = "" & _
"INSERT INTO dbo.thelabels (theV, theJID, theK, theS, theDRVorPAS, theImg, insertDayTime)" & _
"VALUES ('" & theV & "', " & theJID & ", " & theK & ", " & theS & ", '" & theDRVorPAS & "', @img, '" & Format(DateTime.Now, "yyyy-MM-dd H:mm:ss") & "');"
myCommandSQL.Connection = connSql
myCommandSQL.Parameters.AddWithValue("@img", IO.File.ReadAllBytes(path))
myCommandSQL.CommandText = SQL
myCommandSQL.ExecuteNonQuery()
connSql.Close()
myCommandSQL.Dispose()
すべてのヘルプは素晴らしいことです! :)
MS SQLの 'image'は、グラフィックデータそのものを格納するデータ型ではありません。 MS SQLには、グラフィカルデータを画像として表示する機能が組み込まれていません。 'image'データ型はバイナリデータを格納するためのレガシー形式です。 VARBINARY(MAX)を使用しても、標準のMS SQLツールではそれをピクチャとして表示することはできません。 – Jodrell
** SQLインジェクション**攻撃について聞いたことがありますか? SQL文を連結してはいけません。特に、入力がユーザからのものでない場合は特に注意してください。代わりに、**パラメータ化されたクエリ**を使用する必要があります - **常に**、言い訳はありません。 –