|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
Есть vba скрипт на выборку данных из MS SQL сервера: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Он обрабатывается, но его предел 11 тысяч строк. Когда пытаюсь вызвать строку больше 11 тысяч(к примеру 12345, на сервере их 300 000++) он ничего не делает :( Никаких ошибок, просто не выдает данные. Я подозреваю что это лимит драйвера, как его обойти? Спасайте, голова скоро лопнет :( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2013, 09:47 |
|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
Когда пытаетесь вызвать строку больше 11 тысяч(к примеру 12345, на сервере их 300 000++) ... то невероятным образом попадаете пальцем в небо в значения, которых нет в таблице, - в итоге получаете пустое множество. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2013, 12:57 |
|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
Такой умный ответ аж жуть берет, ниче что я делаю селект id? Порядкового значения, которое создается на каждой строчке, по ПОРЯДКУ. И что бы я ни вызвал в промежутке от 1 до 300 000 я точно попаду не пальцем в небо, а прямо в куда надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2013, 15:36 |
|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
MalishPoТакой умный ответ аж жуть берет, ниче что я делаю селект id? Порядкового значения, которое создается на каждой строчке, по ПОРЯДКУ. И что бы я ни вызвал в промежутке от 1 до 300 000 я точно попаду не пальцем в небо, а прямо в куда надо. если Вы имеете ввиду поле типа IDENTITY, то там тоже могут быть пропуски для начала попробуйте сделать так Код: sql 1. 2. 3. 4. 5.
и вызовите с параметром 12345, будет ли что-нибудь выводиться ЗЫЖ про лимит драйвера на кол-во строк не слышал ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2013, 12:34 |
|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
Поле не IDENTITY, а PK. Да и вообще, >= не катит, т.к. вызываются данные из базы не только по ключевому полю, но и по другим. А там важно что поле = значение. Должна вызваться только 1 строка, а не все строки от определенной. ПС: по вашему совету не вышло, вызывает все до 11000 строк, выше как отрезало. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 13:23 |
|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
Добавлю, максимально возможная для вызова строка 11060. Это с помощью скрипта. С помощью выгрузки через вкладку данные, выгружает все 300 000 строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 14:23 |
|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
MalishPo Код: vbnet 1.
тут, ваще-то, ODBC должно быть ... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 14:31 |
|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
и ODBC и OLEDB есть драйверы. Работают оба, к сожалению одинаково до 11060 строк ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 14:34 |
|
Excel<->SQL с помощью VBA
|
|||
---|---|---|---|
#18+
MalishPoДобавлю, максимально возможная для вызова строка 11060. Это с помощью скрипта. С помощью выгрузки через вкладку данные, выгружает все 300 000 строк. значит все таки у Вас проблема в запросе. Какое может быть ограничение у драйвера или тому подобное, если у Вас всегда возвращается одна строка? В добавок, запрос выполняет сервер, а не драйвер MalishPoт.к. вызываются данные из базы не только по ключевому полю, но и по другим значит как и сказал скукотища у Вас нет таких записей, которые удовлетворяли бы условию выборки отловите свой запрос и выполните его в любой среде хоть SSMS, хоть в MS Query ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2013, 08:16 |
|
|
start [/forum/topic.php?fid=60&msg=38338559&tid=2156848]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 147ms |
0 / 0 |