2014-10-01 2 views
0

модуля для подключения LOCALHOSTОператор Select для локальных и вставить в сетевую базу данных

Это мой модуль для подключения Localhost

Function connect() 
    con.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};server=localhost;database=tablelocal;uid=root;pwd=root;option=0"  
    con.Open() 
    End Function 

    Function Disconnect() 
    con.Close() 
    End Function 

модуля для подключения к сети

Это мой модуль для подключения через сеть

Function connectnetwork() 
    con.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};server=192.168.0.1;database=samplenetwork;uid=root;pwd=root;option=0"  
    con.Open() 
    End Function 

    Function Disconnectnetwork() 
    con.Close() 
    End Function 

См. Мое редактирование

Dim sourceConnection As New OdbcConnection(connect()) 
    Dim destinationConnection As New OdbcConnection(connectNetwork()) 
    Dim adapter As New OdbcDataAdapter("SELECT * from local ", sourceConnection) 
    Dim insertCommand As New OdbcCommand("INSERT INTO network", destinationConnection) 

    With insertCommand.Parameters 
     OdbcCommand = New Odbc.OdbcCommand("Insert into network select * from local ", con) 
     OdbcCommand.ExecuteNonQuery() 
    End With 

    adapter.InsertCommand = insertCommand 

    'Keep the RowState of each row as Added so it is ready to be inserted.' 
    adapter.AcceptChangesDuringFill = False 

    Dim table As New DataTable 

    'Retrieve data from source database.' 
    adapter.Fill(table) 

    'Save data to destination database.' 
    adapter.Update(table) 
+0

Какую ошибку вы получаете? – Undo

+0

нет ошибки, но если я буду excecute данные будут передавать только локальные, но он не будет отправляться на сетевой сервер – PACMAN

+0

Может кто-нибудь помочь мне для простого кода из локальной сети, – PACMAN

ответ

0

Просто используйте два разных соединения с адаптером данных, например.

Dim sourceConnection As New OdbcConnection("source connection string here") 
Dim destinationConnection As New OdbcConnection("destination connection string here") 
Dim adapter As New OdbcDataAdapter("SELECT ...", sourceConnection) 
Dim insertCommand As New OdbcCommand("INSERT ...", destinationConnection) 

With insertCommand.Parameters 
    'Add parameters here.' 
End With 

adapter.InsertCommand = insertCommand 

'Keep the RowState of each row as Added so it is ready to be inserted.' 
adapter.AcceptChangesDuringFill = False 

Dim table As New DataTable 

'Retrieve data from source database.' 
adapter.Fill(table) 

'Save data to destination database.' 
adapter.Update(table) 
+0

Пожалуйста, см. Мой отредактированный код, если я прав, дайте мне пример для добавления параметров? извините, но я новый пользователь для VB – PACMAN

+0

Если вы используете ADO.NET, то вы действительно должны уже знать, как добавить параметры. Есть примеры повсюду, и их нетрудно найти. Вот один из них, который я подготовил ранее: http://jmcilhinney.blogspot.com.au/2009/08/using-parameters-in-adonet.html – jmcilhinney

+0

Да, я знаю, но я попытался запустить свою программу по-прежнему не так, вы можете увидеть мои отредактированный код в качестве основы кода, потому что я запутался, если мое требование строки подключения верное и вы можете заполнить параметры? – PACMAN

0

в то время как в сети все команды и запросы Case Sensitive (для MySQL) все вещи в "" (двойные кавычки) должны быть чувствительны к регистру (для MySQL)

Может быть, попробуйте добавить " Протокол = разъем;» к строке подключения.

ИЛИ проверить брандмауэр

иногда брандмауэр, который не позволил его через

проверки This