Как я могу получить имя базы данных от MySQL Perl дескриптор DBI?

Range("A1:A") не является допустимым адресом, потому что номер строки в конце отсутствует.

Это должно быть что-то вроде ...

Range("A" & Rows.Count).End(xlUp).Row

, соответственно, должно быть

SendTo = SendTo & Range("A" & BuildAddy).Value & ";"

. Также вы должны указать для всех Range(…), в каком листе находится диапазон. Как и Worksheets("Emails").Range(…), в противном случае Excel не может этого знать.

5
задан Harry 21 November 2008 в 08:37
поделиться

4 ответа

Попытка, просто выполняющая запрос

select DATABASE();

Из того, что я мог найти, DBH имеет доступ к DSN, который Вы первоначально соединили с, но не после внесения изменения. (Существует, вероятно, лучший способ переключить базы данных.)

13
ответ дан 18 December 2019 в 10:50
поделиться

Можно спросить mysql:

($dbname) = (each %{$dbh->selectrow_hashref("show tables")}) =~ /^Tables_in_(.*)/;

Обновление: очевидно, выберите БАЗУ ДАННЫХ (), лучший способ сделать это :)

1
ответ дан 18 December 2019 в 10:50
поделиться

При создании объекта соединения, это для определенной базы данных. В случае DBI так или иначе. Я я не верю выполнению SQL USE database_name будет влиять на Ваш экземпляр соединения вообще. Возможно, существует select_db (Мой DBI ржав), функция для объекта соединения, или необходимо будет создать новое соединение с новой базой данных для экземпляра соединения для надлежащего создания отчетов об этом.

0
ответ дан 18 December 2019 в 10:50
поделиться

FWIW - вероятно, не очень - DBD:: Informix отслеживает текущую базу данных, которая может измениться, если Вы делаете операции, такие как CREATE DATABASE. $dbh->{Name} атрибут указан спецификацией DBI как имя, используемое, когда дескриптор устанавливается. Следовательно, существует Informix-определенный атрибут $dbh->{ix_DatabaseName} это обеспечивает фактическое текущее имя базы данных. См.: perldoc DBD::Informix.

Вы могли рассмотреть запрос специалиста (специалистов) по обслуживанию DBD:: MySQL добавляет подобный атрибут.

0
ответ дан 18 December 2019 в 10:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: