如何将数据从pdf文件导入到sql server数据库中 [英] how to import data from pdf file into sql server data base

查看:452
本文介绍了如何将数据从pdf文件导入到sql server数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将数据从pdf文件导入sql server数据库是可能的...........?

解决方案

这里有几个函数我放在一起,可以将任何类型的文件存储到SQL Server数据库中。



它是在Visual Basic中



SQL表

  1  Doc_ID  int   NULL  NULL  
2 FileName nvarchar 255 NULL
3 FileExtention nvarchar 10 NO NULL
4 内容 varbinary -1 YES NULL





主要功能

私人Sub btn_initUpload_Click(sender As Object,e As System.EventArgs)处理btn_initUpload.C​​lick 
Dim filePath As String =
Dim fInfo As FileInfo
Dim fileName As String,fileExt As String
Dim fileBinary()As Byte

Dim cn As SqlClient.SqlConnection = Nothing
Dim cmd As SqlClient.SqlCommand = Nothing
Dim procRtn As Integer

filePath = Me.txt_FilePath.Text

System.Windows.Forms.Cursor.Current = Windows.Forms.Cursors.WaitCursor

if filePath<> 然后
fInfo = FileIO.FileSystem.GetFileInfo(filePath)
fileName = fInfo.Name
fileExt = fInfo.Extension
尝试
fileBinary = Me.ConvertFileToBinary( filePath)

如果SQL_Ops.ConnectToDatabase(cn)= False则退出Sub
如果SQL_Ops.PrepCmdObject(cmd,cn,SQL_StoredProcedure.sp_saveDoc)= False那么
调用MsgBox(访问存储过程时出错。请联系数据库管理员。,vbCritical)
cn.Close()
抛出新的System.Exception(SQL失败)
结束如果

cmd.Parameters(@ FileName)。Value = fileName
cmd.Parameters(@ FileExtention)。Value = fileExt
cmd.Parameters(@ Content) .Value = fileBinary

procRtn = cmd.ExecuteNonQuery()

如果procRtn<> 0和Err.Number = 0然后
Me.FileList.DataBind()
Me.txt_FilePath.Text =
否则
抛出新的System.Exception(Proc Execution Error )
结束如果
Catch ex As Exception
Debug.Print(文件转换失败。)
结束尝试
否则
'什么都不做
结束如果

如果Not IsNothing(cmd)则cmd = Nothing
If Not IsNothing(cn)则cn.Close()

System.Windows .Forms.Cursor.Current = Windows.Forms.Cursors.Default
End Sub





这是将转换的函数任何文件到二进制数据

私有函数ConvertFileToBinary(ByVal filePath As String)As Byte()
Dim fs As New FileStream(filePath,FileMode.Open,FileAccess。阅读)
Dim br As New BinaryReader(fs)
Dim convFile As Byt e()= br.ReadBytes(CInt(fs.Length))
br.Close()
fs.Close()
返回convFile
结束函数


how to import data from pdf file into sql server data base is possible...........?

解决方案

Here's a couple of functions I put together to be able to store any kind of file into a SQL Server database.

It's in Visual Basic

SQL Table

1   Doc_ID  int NULL    NO  NULL
2   FileName    nvarchar    255 NO  NULL
3   FileExtention   nvarchar    10  NO  NULL
4   Content varbinary   -1  YES NULL



Primary Function

Private Sub btn_initUpload_Click(sender As Object, e As System.EventArgs) Handles btn_initUpload.Click
        Dim filePath As String = ""
        Dim fInfo As FileInfo
        Dim fileName As String, fileExt As String
        Dim fileBinary() As Byte

        Dim cn As SqlClient.SqlConnection = Nothing
        Dim cmd As SqlClient.SqlCommand = Nothing
        Dim procRtn As Integer

        filePath = Me.txt_FilePath.Text

        System.Windows.Forms.Cursor.Current = Windows.Forms.Cursors.WaitCursor

        If filePath <> "" Then
            fInfo = FileIO.FileSystem.GetFileInfo(filePath)
            fileName = fInfo.Name
            fileExt = fInfo.Extension
            Try
                fileBinary = Me.ConvertFileToBinary(filePath)

                If SQL_Ops.ConnectToDatabase(cn) = False Then Exit Sub
                If SQL_Ops.PrepCmdObject(cmd, cn, SQL_StoredProcedure.sp_saveDoc) = False Then
                    Call MsgBox("An error occured while accessing the stored procedure. Please contact the database administrator.", vbCritical)
                    cn.Close()
                    Throw New System.Exception("SQL Failure")
                End If

                cmd.Parameters("@FileName").Value = fileName
                cmd.Parameters("@FileExtention").Value = fileExt
                cmd.Parameters("@Content").Value = fileBinary

                procRtn = cmd.ExecuteNonQuery()

                If procRtn <> 0 And Err.Number = 0 Then
                    Me.FileList.DataBind()
                    Me.txt_FilePath.Text = ""
                Else
                    Throw New System.Exception("Proc Execution Error")
                End If
            Catch ex As Exception
                Debug.Print("File conversion failure.")
            End Try
        Else
            'Do Nothing
        End If

        If Not IsNothing(cmd) Then cmd = Nothing
        If Not IsNothing(cn) Then cn.Close()

        System.Windows.Forms.Cursor.Current = Windows.Forms.Cursors.Default
End Sub



This is the function that will convert any file into binary data

Private Function ConvertFileToBinary(ByVal filePath As String) As Byte()
        Dim fs As New FileStream(filePath, FileMode.Open, FileAccess.Read)
        Dim br As New BinaryReader(fs)
        Dim convFile As Byte() = br.ReadBytes(CInt(fs.Length))
        br.Close()
        fs.Close()
        Return convFile
End Function


这篇关于如何将数据从pdf文件导入到sql server数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆