lonejan писал(а):Подскажите как?
Только все-равно не понимаю, зачем нужен именно VB.
lonejan писал(а):Но я выбираю данные из сервера в рекордсет, потом каждую запись в цикле инсертом вставляю в MDB. Так долго получается.
lonejan писал(а):Как программно в ВБ создать связь с таблицей на СКЛ сервере?
cnMDB.Execute "INSERT INTO [Users] (ID_User, [User])
SELECT tblUsers.ID_User, tblUsers.User
FROM tblUsers IN '[ODBC;DRIVER=SQL Server;SERVER=MySqlServer;DATABASE=MySqlBase;Trusted_Connection=Yes]'"
CUp.Execute ("INSERT INTO NOM SELECT * FROM tblUsers IN '[ODBC;DRIVER=SQL Server;SERVER=TEACDOC;DATABASE=ODESSA;Trusted_Connection=Yes]'")
Короче так. В Аксесе нашёл создавалку строк ОДБС, в АКСЕСе - всё гуд!
tbl.Properties("Jet OLEDB:Link Datasource") =имя_сервера
tbl.Properties("Jet OLEDB:Link Provider String") ="ODBC;DRIVER=SQL Server;SERVER=" & имя_сервера & ";DATABASE=" & имя_базы_sql & ";UID=" & пользователь & ";PWD=" & пароль
Dim con As ADODB.Connection
Dim cat As ADOX.Catalog
Dim tbl As ADOX.Table
Set con = New ADODB.Connection
con.Provider = "Microsoft.Jet.OLEDB.4.0"
con.ConnectionString = путь_к_базе_access & "\имя.mdb"
con.Open
Set cat = New ADOX.Catalog
cat.ActiveConnection = con
Set tbl = New ADOX.Table
tbl.Name = имя_таблицы'которое будет отображаться в окне базы данных accsess
Set tbl.ParentCatalog = cat
tbl.Properties("Jet OLEDB:Create Link") = True
tbl.Properties("Jet OLEDB:Link Datasource") =??
tbl.Properties("Jet OLEDB:Link Provider String") = ??
tbl.Properties("Jet OLEDB:Remote Table Name") = имя_таблички_на_sql_сервере
cat.Tables.Append tbl
текст_запроса="insert into имя_таблицы_access (поле1,поле2) select имя_таблицы.поле1, имя_таблицы.поле2 from имя_таблицы"
con.execute текст_запроса
cat.Tables.Delete имя_таблицы 'удаляем прилинкованную табличку после импорта
con.close
Set cat = Nothing
Set tbl = Nothing
Set con = Nothing
lonejan писал(а):
- Код: Выделить всё
CUp.Execute ("INSERT INTO NOM SELECT * FROM tblUsers IN '[ODBC;DRIVER=SQL Server;SERVER=TEACDOC;DATABASE=ODESSA;Trusted_Connection=Yes]'")
Не пашет, говорит файл не найден. Оно ищет файл с именем 'ODBC;DRIVER=SQL Server;SERVER=TEACDOC;DATABASE=ODESSA;Trusted_Connection=Yes' Как сделать?
SELECT * FROM tblUsers IN '[ODBC;DRIVER=SQL Server;SERVER=TEACDOC;DATABASE=ODESSA;Trusted_Connection=Yes]'
Dim cn As New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\db2.mdb"
cn.Execute "INSERT INTO [Users] (ID_User, [User])" & vbCrLf _
& "SELECT ID_User, User" & vbCrLf _
& "FROM tblUsers IN '' [ODBC;DRIVER=SQL Server;SERVER=MySqlServer;DATABASE=MyDatabase;Trusted_Connection=Yes]"
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1