各位专家,大虾:
    请帮助解决这个问题。我现在开发一个网站,其中涉及到这样一项功能:将本地的ACCESS数据库里的数据按条件导入到网站服务器的SQL里?有没有什么好的方法,或者有没有这样的源代码。本人将非常感激,我已经在网上找了很多资料,但都没什么效果,很急啊。如能提供代码,我愿意以现金的方式直接支付给您,谢谢!

解决方案 »

  1.   

    一张表一张表的读取出来再循环插入到SQLSERVER里对应的表 这样可以吗
      

  2.   

    例如:access中的table1表,
    其中有column1,column2,clumn3三列。
    你想把column3条件为column3 = 'Y'的数据插入到sqlsever中去
    sqlsever表table2,列名为col1,col2,col3
    在access表中查询:
    select 'insert into table2(col1,col2,col3) values('''|| column1 ||''','''|| column2 ||''',''Y'');'
    from table1 where column3 = 'Y';将查询中得数据粘贴出来,在sqlSever中执行即可。
      

  3.   

    直接可以导入吧。要不 先将你的ACCESS数据导入到你本地的SqlServer数据库,再上传到服务器上。
      

  4.   

    你看下面的代码,我写的,是连接ORCAL的如果觉得适合你,给我加分!!!   
        
      Imports   System.Data.OracleClient   
      Public   Class   excel_orcal   
              Inherits   System.Windows.Forms.Form   
              Dim   app   As   Excel.Application   
              Dim   ws   As   Excel.Worksheet   
              Dim   wb   As   Excel.Workbook   
              Dim   j   As   Integer   
        
              Private   Sub   Button1_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button1.Click   
                      Me.OpenFileDialog1.ShowDialog()   
                      Me.TextBox1.Text   =   Me.OpenFileDialog1.FileName   
                      app   =   CreateObject("Excel.Application")   
                      app.Visible   =   True   
                      wb   =   app.Workbooks.Open(TextBox1.Text)   
                      ws   =   app.Worksheets(1)   
                      ws.Activate()   
                      System.Runtime.InteropServices.Marshal.ReleaseComObject(app)   
                      app   =   Nothing   
                      GC.Collect()   
                      'sqlstr   =   ws.Cells(1,   2).value   
                      'sqlstr   =   app.WorksheetFunction.Max(ws.Range("B2:F10"))   
                      '   Me.Label1.Text   =   sqlstr   
              End   Sub   
              Private   Sub   create_table()   
                      For   j   =   1   To   100   
                              sqlstr   =   sqlstr   +   ws.Cells(1,   j).value   &   "   "   &   "VARCHAR2(1000),"   
                              If   ws.Cells(1,   j).value   =   ""   Then   
                                      Exit   For   
                              End   If   
                      Next   
                      Dim   a   As   String   
                      Dim   b   As   Integer   
        
                      input   =   InputBox("请输入需要键的表名",   ,   ws.Name)   
                      b   =   sqlstr.Length   -   17   
                      a   =   sqlstr.Substring(0,   b)   
                      sqlstr   =   "select   *   from   user_all_tables   where   table_name='"   &   input   &   "'"   
                      If   Get_ds(sqlstr).Tables(0).Rows.Count   =   0   Then   
                              MsgBox("该表存在,不需要创建?",   MsgBoxStyle.YesNo,   "提示")   
                              sqlstr   =   "create   table"   +   "     "   &   input   &   "("   &   a   &   "   )"   
                              MsgBox("生成其他的表")   
                              edit_data(sqlstr)   
                      End   If   
                      Me.RichTextBox1.Text   =   sqlstr   
              End   Sub   
              Private   Function   ms(ByVal   i   As   Integer)   As   String   
                      For   x   =   1   To   j   -   1   
                              c   =   c   +   "'"   +   CStr(ws.Cells(i,   x).value)   +   "',"   
                      Next   
                      b   =   c.Length   -   1   
                      a   =   c.Substring(0,   b)   
                      Return   a   
              End   Function   
              Private   Function   y()   As   Integer   
                      For   d   =   1   To   1000   
                              If   ws.Cells(d,   1).value   =   ""   And   ws.Cells(d   +   10,   1).value   =   ""   Then   
                                      Return   d   
                                      Exit   For   
                              End   If   
                      Next   
              End   Function   
              
              Dim   input   As   String   
              Dim   i   As   Integer   
              Dim   x   As   Integer   
              Dim   c   As   String   
              Dim   a   As   String   
              Dim   d   As   Integer   
              Dim   b   As   Integer   
              Private   Sub   Button2_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button2.Click   
                      sqlstr   =   ""   
                      create_table()   
                      Try   
                              Me.TextBox2.Text   =   y()   -   1   
                              Me.RichTextBox1.Text   =   ""   
                              For   i   =   2   To   y()   -   1   
                                      c   =   ""   
                                      sqlstr   =   "insert   into"   &   "   "   &   input   &   "   values(   "   +   ms(i)   +   ")"   
                                      edit_data(sqlstr)   
        
                                      Me.RichTextBox1.Text   =   Me.RichTextBox1.Text   +   sqlstr   +   ";------插入成功"   +   vbCrLf   
                              Next   
                      Catch   ex   As   Exception   
        
                      End   Try   
        
        
              End   Sub   
        
        
      End   Class   
        
        
      Public   Function   edit_data(ByVal   sqlstr   As   String)   As   Boolean   
        
                      Dim   cmd   As   OracleCommand   =   New   OracleCommand   
                      Try   
                              conn.Open()   
                              cmd.Connection   =   conn   
                              cmd.CommandText   =   sqlstr   
                              cmd.CommandType   =   CommandType.Text   
                              cmd.ExecuteNonQuery()   
                              conn.Close()   
                              Return   True   
                      Catch   ex   As   Exception   
                              MsgBox("操作失败,连接数据库失败或无相关数据!")   
                              Return   False   
                      End   Try   
              End   Function   
        
      

  5.   

    谢谢各位支持,可是好像仍不能实现。是不是我的问题没提对啊,我在开发一个网站,基于.net 2.0。我网站的数据库是SQL的,因为原来已存在一些基础的数据,分布在多个客户端。现在要实现的是:不同的客户端可以将他们积自的access数据按条件生成数据集,然后添加到服务器相应的SQL表格里。我这两天找了很多书,但没有完全的代码。因为我的水平不是很好,所以只好来请求各位高手了,还望你们不吝赐教啊。
      

  6.   

    加我QQ,729599819 验证csdn
      

  7.   

    把ACCESS当数据源,读出数据,然后再数据处理成你要的数据,插入SQL