sql >> データベース >  >> RDS >> Sqlserver

画像列に画像を保存するにはどうすればよいですか?

    画像を SQL サーバーに保存するためのサンプル コードは次のとおりです。

    SqlConnection conn = new SqlConnection(connectionString);
    
    try
    {
        int imageLength = uploadInput.PostedFile.ContentLength;
        byte[] picbyte = new byte[imageLength];
        uploadInput.PostedFile.InputStream.Read (picbyte, 0, imageLength);
    
        SqlCommand command = new SqlCommand("INSERT INTO ImageTable (ImageFile) VALUES (@Image)", conn);
        command.Parameters.Add("@Image", SqlDbType.Image);
        command.Parameters[0].Value = picbyte;
    
        conn.Open();
        command.ExecuteNonQuery();
        conn.Close();
    }
    finally
    {
        if (conn.State != ConnectionState.Closed)
        {
            conn.Close();
        }
    }
    

    注: uploadInput は、画像ファイルをサーバーにアップロードするためのファイル入力コントロールです。 ASP.NET アプリケーションから取得したコード。

    編集: 以下は、画像タイプの列への挿入スクリプトです:

    INSERT INTO ImageTable (ImageColumn)
    
    SELECT ImageColumn FROM 
    OPENROWSET(BULK N'C:\SampleImage.jpg', SINGLE_BLOB) 
    AS ImageSource(ImageColumn);
    


    1. cx_Oracle.DatabaseError:ORA-12514:TNS:listenerは現在、接続記述子で要求されたサービスを認識していません

    2. MySQL LIKE%string%は十分に寛容ではありません。他に使用できるものはありますか?

    3. 動的入力パラメーターを「即時実行」に渡す

    4. Hibernate(EntityManager)またはJPAを使用してOracle関数またはプロシージャを呼び出す方法