Что нового

MSSQL, не могу скопировать таблицу из одной базы в другую

sanek2000

Новичок
Сообщения
9
Репутация
1
ОС: Win7 x32
SQL: MSSQL 2000

Этот скрипт не срабатывает:
Код:
#include "_SQL.au3"
Dim $ObjSQL, $server, $username, $password
$server = "localhost"
$username = "login"
$password = "*****"

$ObjSQL = _SQL_Startup()
$MsgSQL = _SQL_GetErrMsg()

ErrMsg($MsgSQL)
$OpenedDB = _SQL_Connect($ObjSQL, $server, "", $username, $password)
$MsgSQL = _SQL_GetErrMsg()
ErrMsg($MsgSQL)

$Query = "insert into base1..UsersTb select * from base2..UsersTb"
_SQL_Execute($ObjSQL,$Query)

_SQL_Close($ObjSQL)

Базы находятся на одном сервере. Я долго крутил и такое впечатление, что коннект (_SQL_Connect) происходит только к одной базе, даже если я оставлю пустые кавычки, он тогда подключается к первой базе, к которой я обращусь (_SQL_Execute).
Может в модуле _SQL.au3 есть какие-н. другие функции, я их не нашел. Подскажите пожалуйста, что можно с этим сделать?
 
Автор
S

sanek2000

Новичок
Сообщения
9
Репутация
1
догадался, нужно оказывается создать сначала таблицу, в которую будем импортировать, с точно такими же столбцами, а затем уже делать insert into. а все, блин, от недостатка знаний, читайте книжки господа
жаль, что все так сложно, а я надеялся, что можно просто какой-нить импорт простой замутить в одну команду. может функцию какую написать под это дело?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
sanek2000 [?]
жаль, что все так сложно, а я надеялся, что можно просто какой-нить импорт простой замутить в одну команду
Можно предварительно создать эту таблицу:

Код:
$Query = "CREATE TABLE IF NOT EXISTS UsersTb (Col1 varchar(255), Col2 int, ...)")
_SQL_Execute($ObjSQL,$Query)

$Query = "insert into base1..UsersTb select * from base2..UsersTb"
_SQL_Execute($ObjSQL,$Query)
 
Автор
S

sanek2000

Новичок
Сообщения
9
Репутация
1
Посоны, я нашел!!!
Код:
$sQuery = "select * into base1..table from base2..table"

это делает все и сразу
 
Верх