static String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; static String url = "jdbc:microsoft:sqlserver://192.168.0.202:1433;DatabaseName=test"; static String user = "sa"; static String passwd = "ps"; public static void method() throws Exception { Connection conn = null; try { Class.forName(driver); conn = DriverManager.getConnection(url, user, passwd); int op = 0; // 插入 if (op == 0) { PreparedStatement ps = conn.prepareStatement("insert into tb_file values(?,?)"); ps.setString(1, "test.doc"); InputStream in = new FileInputStream("d:/test.doc"); ps.setBinaryStream(2, in, in.available()); ps.executeUpdate(); ps.close(); } else { // 取出 PreparedStatement ps = conn.prepareStatement("select * from tb_file where filename = ?"); ps.setString(1, "aaa.exe"); ResultSet rs = ps.executeQuery(); rs.next(); InputStream in = rs.getBinaryStream("filecontent"); System.out.println(in.available()); FileOutputStream out = new FileOutputStream("d:/test.doc"); byte[] b = new byte[1024]; int len = 0; while ((len = in.read(b)) != -1) { out.write(b, 0, len); out.flush(); } out.close(); in.close(); rs.close(); ps.close(); } } catch (Exception ex) { ex.printStackTrace(System.out); } finally { if (null != conn) conn.close(); } }
相关推荐
### Java读取SQL Server Image字段知识点详解 #### 一、背景与目的 在数据库应用开发过程中,经常会遇到需要存储图片等二进制数据的情况。SQL Server 提供了`IMAGE`类型来存储大容量的二进制数据。然而,如何有效地...
为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java 语言和 JDBC 驱动程序。下面是一个示例代码,演示如何将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中: ...
在本教程中,我们将探讨如何利用Struts Action来处理文件上传,并将文件存储到SQL Server数据库的Image字段中。 首先,我们需要理解Action在Struts框架中的角色。Action是业务逻辑的载体,接收用户请求,处理数据,...
文章《用Java流实现对SQL Server 2000中多媒体数据的存取》主要探讨了如何利用Java语言以及JDBC/ODBC桥接口技术实现对SQL Server 2000数据库中多媒体数据字段的存取操作。本文将详细阐述以下几个关键知识点: 1. ...
在SQL Server中,处理大对象数据通常使用`IMAGE`类型(SQL Server 2005及以前版本)或`VARBINARY(MAX)`、`IMAGE`(SQL Server 2008及以后版本)。`IMAGE`类型可以存储的最大数据量理论上不受限,但实际受物理存储...
然而,由于SQL Server 2000已不再得到官方支持,开发者通常会倾向于使用更新的版本,如SQL Server 2012或更高版本,这些版本引入了VARBINARY(MAX)和VARCHAR(MAX)来替代IMAGE和TEXT,以提供更大的灵活性和更好的性能...
总结来说,MySQL、SQL Server和Oracle都提供了专门的字段类型来处理大对象数据。在存取大对象时,开发者需要注意选择合适的数据类型,调整数据库配置以适应大文件,并使用相应的API进行操作。在实际应用中,应根据...
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); ```...
5. **从数据库读取**:当需要显示图片时,执行SQL查询语句,从BLOB字段中获取图片的二进制数据。 6. **转换回图片**:将从数据库获取的二进制数据转换回图片文件,这可以通过编程语言的相应库函数完成。例如,Java...
4. **插入数据**:然后,使用Java的JDBC API连接到SQL Server,创建`PreparedStatement`,并设置参数为16进制字符串。例如: ```java String insertSql = "INSERT INTO Images (ImageData) VALUES (?)"; ...
在SQL Server中,这种类型被称为`VARBINARY(MAX)`,它允许存储最多2^31-1个字节的数据,足以容纳大部分图片文件。 存入图片的步骤如下: 1. **读取图片文件**:使用编程语言(如Java、Python、C#)的内置函数读取...
在SQL Server中,可以创建一个包含BLOB字段的表来存储图片数据。 1. 创建表结构: 假设我们创建一个名为`ImagesTable`的表,其中包含`ImageID`作为主键和`ImageData`作为BLOB字段。 ```sql CREATE TABLE ...
首先在数据库中创建`BLOB`类型字段(SQL Server中为`IMAGE`)。处理图像文件时,需注意大小限制,超过一定量级(如64K)应考虑使用`BIGBLOB`类型。 存储时,可将文件转换为字节流,通过`setBinaryStream()`方法...
String url = "jdbc:sqlserver://localhost:1433;databaseName=YourDatabase"; String username = "YourUsername"; String password = "YourPassword"; Connection conn = DriverManager.getConnection(url, ...
首先,需要添加对应的JDBC驱动(如Microsoft JDBC Driver for SQL Server)到项目的类路径。然后,使用`PreparedStatement`或`Statement`对象的`setBinaryStream`方法将图片文件读取为字节流并写入BLOB字段。 ```...
1. 图片数据需转换成字节数组,可以使用`FileInputStream`读取文件,然后使用`BufferedImage`进行处理,最后用`ImageIO.write()`方法将其写入`ByteArrayOutputStream`。 2. 数据库中的BLOB字段可能有大小限制,需要...
这通常是通过编程语言(如Python、Java、C#等)与数据库API(如SQL Server的ADO.NET,MySQL的JDBC,或者SQLite的sqlite3模块)进行交互来实现的。下面将详细介绍这个过程和相关知识点。 1. **二进制数据类型**:在...
假设我们有一个名为`images`的表,其中包含`image_data`字段存储图片的BLOB类型数据。我们可以使用PreparedStatement来执行查询: ```java String sql = "SELECT image_data FROM images WHERE id = ?"; ...
这通常涉及到读取Part对象的InputStream,然后写入到目标文件流。同时,为了防止文件名冲突,可以生成唯一的文件名。 5. 数据库记录:保存图片的同时,我们还要将图片的存储路径存入数据库。可以创建一个javabean来...
这些函数提供了基本的文件操作能力,如打开文件、读取文件内容、写入数据等。 #### 9. 如何改变FORM(FMX模块)运行时的title? 可以使用 `FORM-SET-TITLE` 函数来更改FORM的标题。例如,在 `INITIALIZE` 触发子中...