Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
Не могу справиться с ошибкой, которая на сервере решается использованием оператора COLLATE. Access его не узнаёт. Я что-то могу здесь сделать?

SELECT dbo_Contracts.Contract, dbo_Subcontractors.Colour
FROM dbo_Contracts LEFT JOIN dbo_Subcontractors ON
dbo_Contracts.Contract = dbo_Subcontractors.Policy

В SQL Server Management Studio решался просто - условием COLLATE German_CI_AS после соединения Contract и Policy.
7 мар 12, 17:35    [12211701]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Glory
Member

Откуда:
Сообщений: 104751
Flossy
Access его не узнаёт

Наверное потому, что в синтаксисе Access нет COLLATE
7 мар 12, 17:56    [12211826]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
Именно, потому спрашиваю, что делать?
7 мар 12, 18:04    [12211879]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Glory
Member

Откуда:
Сообщений: 104751
Flossy
Именно, потому спрашиваю, что делать?

Что делать с чем ? С синтаксиом Access ?
7 мар 12, 18:06    [12211889]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
Первое сообщение пишет, что с проблемой: какой аналог Access?
7 мар 12, 18:43    [12212068]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Glory
Member

Откуда:
Сообщений: 104751
Flossy
Первое сообщение пишет, что с проблемой

Какое отношение к вашей проблеме имеет MSSQL ?
7 мар 12, 18:50    [12212087]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
aleks2
Guest
Flossy
Именно, потому спрашиваю, что делать?


1. Напесать процедуру.
2. Напесать View.
7 мар 12, 19:29    [12212254]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
aleks2
Guest
Ах да, забыл. Открыть для себя, что в Access есть не тока конструкторы, но и тупенько можно включить Вид->Область->SQL и колбасить ФСЕ, что угодно.
7 мар 12, 19:32    [12212270]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
Спасибо!

Могли бы Вы подсказать, что такое процедура и View в SQL и как хотя бы начать их писать?

У меня Access не русский, 2010 впридачу, подкажите поподробнее, как найти Вид->Область->SQL?
8 мар 12, 12:26    [12214292]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Glory
Member

Откуда:
Сообщений: 104751
Flossy
что такое процедура и View в SQL

Это объекты сервера

Flossy
как хотя бы начать их писать

Открыть хелп продукта
Читать статьи CREATE PROCEDURE, CREATE VIEW

Flossy
У меня Access не русский, 2010 впридачу, подкажите поподробнее, как найти Вид->Область->SQL?

Спросить в форуме по Access
8 мар 12, 12:33    [12214303]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
aleks2
Guest
1.
CREATE PROCEDURE MyPoblem1
AS
SELECT dbo.Contracts.Contract, dbo.Subcontractors.Colour
FROM dbo.Contracts LEFT JOIN dbo.Subcontractors ON
dbo.Contracts.Contract = dbo.Subcontractors.Policy COLLATE German_CI_AS 

go

CREATE VIEW MyPoblem2
AS
SELECT dbo.Contracts.Contract, dbo.Subcontractors.Colour
FROM dbo.Contracts LEFT JOIN dbo.Subcontractors ON
dbo.Contracts.Contract = dbo.Subcontractors.Policy COLLATE German_CI_AS 



2. У меня нету MS Access 10, но я подозреваю, что щелчёк правой пидалью мыши в конструкторе запросов решит проблему...
8 мар 12, 12:37    [12214316]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
Вот, вот, в том и дело, что когда щёлкну на запрос правой кнопкой, появится выбор: изобразить графически, сводная таблица и так далее, но этот SQL, который предлагают, имеет вид не такой, как у Вас в первом пункте, а вот такой

SELECT dbo_Contracts.Contract, dbo_Subcontractors.Colour
FROM dbo_Contracts LEFT JOIN dbo_Subcontractors ON
dbo_Contracts.Contract = dbo_Subcontractors.Policy

и в нём отказывается признавать COLLATE. Я опять смотрю куда не надо? :(
8 мар 12, 12:50    [12214343]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Glory
Member

Откуда:
Сообщений: 104751
Flossy
Вот, вот, в том и дело, что когда щёлкну на запрос правой кнопкой, появится выбор: изобразить графически, сводная таблица и так далее, но этот SQL, который предлагают

"Щелкну" где ?
Как называется утилита, в которой вы создаете серверные(!) объекты ?
8 мар 12, 12:56    [12214348]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
То есть?... Что такое утилита?... Что я использую на сервере? Если да, то там SQL Server Management Studio. Hажимаю окошко New Query - и там можно писать

SELECT dbo.Contracts.Contract, dbo.Subcontractors.Colour
FROM dbo.Contracts LEFT JOIN dbo.Subcontractors ON
dbo.Contracts.Contract = dbo.Subcontractors.Policy COLLATE German_CI_AS

Если на ту же базу ссылаюсь из Access, то можно писать

SELECT dbo_Contracts.Contract, dbo_Subcontractors.Colour
FROM dbo_Contracts LEFT JOIN dbo_Subcontractors ON
dbo_Contracts.Contract = dbo_Subcontractors.Policy

но COLLATE тогда добавить невозможно...
8 мар 12, 13:39    [12214454]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Glory
Member

Откуда:
Сообщений: 104751
Flossy
но COLLATE тогда добавить невозможно...

Вы понимаете, что создаете два разных query ?
8 мар 12, 13:44    [12214467]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
aleks2
Guest
1. Низзя же быть таким тупым?
2. Судя по dbo_Contracts - тредстартер колбасится в .MDB проекте Access. Там нету конструктора для создания запросов "на сервере".
3. dbo_Contracts - линкованная таблица ODBC.
4. Варианты спасения:
а) Перейти на .ADP проект Access.
б) Все ж ИЗ SQL Server Management Studio выполнить
CREATE VIEW MyProblem2
AS
SELECT dbo.Contracts.Contract, dbo.Subcontractors.Colour
FROM dbo.Contracts LEFT JOIN dbo.Subcontractors ON
dbo.Contracts.Contract = dbo.Subcontractors.Policy COLLATE German_CI_AS 

Вернуться в Access, прилинковать таблицу MyProblem2 и выполнить запрос из нее.
8 мар 12, 13:47    [12214472]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
Нельзя, Ваша правда...

Как раз от SQL Server Management Studio требуется избавиться, а перенести у меня, как видите, особенно не получается. Что значит "Перейти на .ADP проект Access."? Видимо, это последнее, что остаётся.
8 мар 12, 14:20    [12214589]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
aleks2
Guest
1. Избавляться надо от безграмотности.

2. А создать View из Server Management Studio - чо в том плохого? А пользовать из Access.

3. View - это типа виртуальной таблицы. Определение хранится на сервере, а пользовать можна с клиента как обычную таблицу.

4. Перейти на .ADP - это вам не баран чихнул. Особливо при текущей квалификации.
8 мар 12, 15:17    [12214812]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
То есть можно написать на SQL Server View, а потом запускать его из Access? :) Как его там начать только?
8 мар 12, 15:32    [12214858]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
aleks2
Guest
Flossy
Как его там начать только?


1. Дык, так и начните в SQL Server Management Studio:
CREATE VIEW dbo.ContractsToSubcontractors
AS
SELECT dbo.Contracts.Contract, dbo.Subcontractors.Colour
FROM dbo.Contracts LEFT JOIN dbo.Subcontractors ON
dbo.Contracts.Contract = dbo.Subcontractors.Policy COLLATE German_CI_AS


2. А линковать таблицы в Access должны сами уметь...
8 мар 12, 15:37    [12214881]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
Tаблички могу присоединить. :) А как запускать этот View из Access, чтобы далее идти на сервер не требовалось, чтобы табличка уже всегда в нём (Access) пересчитывалась?
8 мар 12, 15:42    [12214897]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Glory
Member

Откуда:
Сообщений: 104751
Flossy
Tаблички могу присоединить. :) А как запускать этот View из Access,

View == таблица
Как вы "запускаете" таблицу, так и view запускайте
8 мар 12, 15:45    [12214902]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
aleks2
Guest
Flossy
А как запускать этот View из Access?

1. А как вы с другими табличками работате? Так же точна.
select * FROM dbo_ContractsToSubcontractors


Flossy
чтобы далее идти на сервер не требовалось, чтобы табличка уже всегда в нём (Access) пересчитывалась?

2. А нафега это вам надо? Остальные то таблички фсе одно "на сервере".
8 мар 12, 15:47    [12214911]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Flossy
Member

Откуда:
Сообщений: 19
Сервер поддерживаетIT, мой отдел туда должен отныне "ходить" при помощи Access. Необходимо написать для Access аналог

SELECT dbo.Contracts.Contract, dbo.Subcontractors.Colour
FROM dbo.Contracts LEFT JOIN dbo.Subcontractors ON
dbo.Contracts.Contract = dbo.Subcontractors.Policy COLLATE German_CI_AS

Это действительно невозможно? Должен быть выход...
8 мар 12, 16:42    [12215139]     Ответить | Цитировать Сообщить модератору
 Re: ODBC - Call Failed: SQL vs Access  [new]
Glory
Member

Откуда:
Сообщений: 104751
Flossy
Это действительно невозможно? Должен быть выход...

Есть. Пригласите специалиста.
8 мар 12, 16:46    [12215147]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить