Что нового

[PostreSQL] Не работает запрос "SHOW TABLES;"

aPoStAl

Новичок
Сообщения
9
Репутация
2
Взял библиотеку для MySQL из этой темы : http://autoit-script.ru/index.php?topic=2073

Поменял имя драйвера на "{PostgreSQL ANSI}" и порт на тот который мне нужен

При попытке воспользоваться функцией _GetTblNames возникает ошибка в строчке

Код:
$quer = $oConnectionObj.execute ("SHOW TABLES;")

$quer = $oConnectionObj.execute ("SHOW TABLES;")^ERROR
Error: The requested action with this object has failed.

Попробовал с помощью функции _Query выполнить запрос с Select - все прекрасно работает
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: ODBC + PostgreSQL

1.
{TopicNameWarn.Admin}

2.
Куски кода заключайте в соот-вующий тег.
 

XpycT

Скриптер
Сообщения
380
Репутация
133
aPoStAl [?]
Взял библиотеку для MySQL
Эта UDF не подойдет для работы с PostreSQL

Если я не ошибаюсь в PostreSQL, нет команды SHOW TABLES.

Для отображение таблиц нужно сделать вот так
Код:
#Region Includes
#EndRegion Includes
#NoTrayIcon

Global $sServer   = "" ; Сервер к PostgreSQL
Global $sUserName = "" ; Имя пользователя
Global $sPassword = "" ; Пароль
Global $sDatabase = "" ; База Даннык, к которой подключаемся

$oPgSQLConn = ObjCreate("ADODB.Connection")
$sPgSQLConnStr = "DRIVER={PostgreSQL Unicode};SERVER=" & $sServer & ";PORT=5432;DATABASE=" & $sDatabase & ";UID=" & $sUserName & ";PWD=" & $sPassword
$oPgSQLConn.Open($sPgSQLConnStr)

$oQuery = $oPgSQLConn.Execute("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'")
While NOT $oQuery.EOF
	ConsoleWrite("Table Name : " & $oQuery.Fields(0).Value & @CR)

	$oQuery.MoveNext
WEnd

$oPgSQLConn.Close
 
Автор
A

aPoStAl

Новичок
Сообщения
9
Репутация
2
Спасибо, теперь все стало на свои места =)
 
Верх