列  |            类型             |
-----+-----------------------------
A1 | integer                     
A2 | BLOB假设把D盘SQL目录下的data.txt插入到A2列,用SQL语句怎么写?A1随便等于多少。
谢谢了。明早给分。

解决方案 »

  1.   

    DECLARE @ptrval binary(16);
    SELECT @ptrval = TEXTPTR(pr_info) 
       FROM pub_info pr, publishers p
          WHERE p.pub_id = pr.pub_id 
          AND p.pub_name = 'New Moon Books'
    UPDATETEXT pub_info.pr_info @ptrval 88 1 'b';
    GO
      

  2.   

    你的txt文件中写的是二进制数据(blob)?
      

  3.   

    要从磁盘文件中读取数据写入到数据库LOB类型的字段中,你只能通过应用程序来实现了,SQL语句实现不了,建议你如果用JAVA就到JAVA模块里去问吧
      

  4.   

    一.建表 在scott/tiger下CREATE TABLE tlob
    (a1 int,
    a2 blob,
    CONSTRAINT pk_tlob PRIMARY KEY(a1));二.插入一条数据INSERT INTO tlob VALUES(1, empty_blob());
    COMMIT;三.创建一个目录对象,在system用户下,并授权给scott
    conn system/passwdCREATE OR REPLACE DIRECTORY blobdir AS 'D:\';
    GRANT READ,WRITE ON DIRECTORY blobdir TO scott;四.连接到scott,执行插入
    DECLARE
         l_fname VARCHAR2(20) := 'data.txt';
         l_file BFILE := BFILENAME('BLOBDIR',l_fname);
         l_blob BLOB;
    BEGIN
      IF DBMS_LOB.FILEEXISTS(l_file) = 1 THEN
        SELECT a2
          INTO l_blob
          FROM tlob
         WHERE a1 = 1
          FOR UPDATE;
        DBMS_LOB.OPEN(l_file,DBMS_LOB.LOB_READONLY);
        DBMS_LOB.LOADFROMFILE(l_blob,
             l_file,
             DBMS_LOB.GETLENGTH(l_file));
        DBMS_LOB.TRIM(l_blob,DBMS_LOB.GETLENGTH(l_file));
        DBMS_LOB.CLOSE(l_file);      ELSE
        DBMS_OUTPUT.PUT_LINE('NONEXIST');
      END IF;
    EXCEPTION WHEN OTHERS THEN
      IF DBMS_LOB.ISOPEN(l_file) = 1 THEN
        DBMS_LOB.CLOSE(l_file);
      END IF;
    END;
    /五,测试插入结果,利用length函数SELECT length(a2) FROM tlob WHERE a1 = 1;
      

  5.   

    加分求解,原以为大对象插入和其它数据插入是一样的,看来完全不一样。
    是这样的,表还是上面的,用VS2005通过ODBC访问数据库,插入1K的2进制大对象,具体怎么实现?我这有实例能插入普通数据,但大对象不知道怎么弄。
    谢谢。 
      

  6.   


    和普通的操作当然是不一样的,比较2进制对象不能简单的用字符串表示出来,所以一般的sql是解决不了的,不过对于大多数的编程语言来说都提供了数据库连接的接口(API),对vs不是很熟悉,不过以前搞过java的编程,在java可以提供jdbc来操作数据库,里面对lob的操作,先插入一个记录,不过blob字段先用empty_blob代替,这样blob字段现在还没有自己指定的blob的值,然后update这条记录,在update的时候可以用二进制流对该字段操作,你可以看看vs里的数据库连接的api里有没有提供类似的方式。
      

  7.   

    我这有JDBC和.net的详细的插入大对象的实例,就是没ODBC的
    郁闷
      

  8.   

    实在是只会java,没搞过其他的,你看看下面这个有没有帮助http://topic.csdn.net/t/20021206/10/1236400.html
      

  9.   

    ORACLE提供了大文件入库工具XDB_Utilities。当初开发只为XML文件的入库,后来发展到所有文件的入库。
    你可以CSDN的资源库里去找。我刚刚上传了,可能要等等就有了。
    http://zhangchu_63.download.csdn.net/