Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не работает OpenShema(siViews) для SQL?  [new]
Алекс197
Member

Откуда:
Сообщений: 8
есть SQL 2005 Express
задача получить внутренность запроса(представления) ну т.е не то что является его результатом, а именно "select....".
Все это работало для access замечательно. но при попытке получить это на SQL выдает ошибку. (Объект или поставщик услуг не может выполнить требуемую операцию).
при этому OpenSchema(siTables) работает прекрасно.
прямой запрос к системному представлению (information_schema.views) тоже выдает не пустой результат! в чем может быть засада?
Спасибо
23 июл 09, 17:30    [7452927]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Glory
Member

Откуда:
Сообщений: 104760
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
23 июл 09, 17:33    [7452956]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Алекс197
Member

Откуда:
Сообщений: 8
Это я понял
это и обычный Select дает из information_schema.views.
Смысл в другом уже есть готовый год, написанный на Delphi. который замечательно работает с Access но не работает с SQL.
В этом трабл.
23 июл 09, 17:52    [7453107]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36826
Алекс197
Это я понял
это и обычный Select дает из information_schema.views.
Смысл в другом уже есть готовый год, написанный на Delphi. который замечательно работает с Access но не работает с SQL.
В этом трабл.
Ну, ищиите ошибку и правьте код.
23 июл 09, 17:54    [7453125]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Алекс197
Это я понял
это и обычный Select дает из information_schema.views.
Смысл в другом уже есть готовый год, написанный на Delphi. который замечательно работает с Access но не работает с SQL.
В этом трабл.

Потому что Access не есть SQL Server
23 июл 09, 17:54    [7453130]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Алекс197
Member

Откуда:
Сообщений: 8
Конечно хорошо но по идее, на то и есть Ado. чтобы работать с разными провайдерами, но при этом получаеть одинаковые данные!?
Более полезные советы есть?!
Или ответ это не работает совсем! или работает но по другому?
23 июл 09, 18:24    [7453271]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Алекс197
Member

Откуда:
Сообщений: 8
Гавриленко Сергей Алексеевич
Алекс197
Это я понял
это и обычный Select дает из information_schema.views.
Смысл в другом уже есть готовый год, написанный на Delphi. который замечательно работает с Access но не работает с SQL.
В этом трабл.
Ну, ищиите ошибку и правьте код.


Я уже искал. а вопрос задал потому что не нашел ошибки, код работает с Access и не работает с SQL! по моему представлению меняться должен был connection string И все!?
23 июл 09, 18:26    [7453277]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36826
Алекс197
Я уже искал. а вопрос задал потому что не нашел ошибки, код работает с Access и не работает с SQL! по моему представлению меняться должен был connection string И все!?
И задавать вопрос надо именно в ветке по MSSQL? Это в нем проблемы, что какой-то левый компонент не может с ним работать, в то время, как он работает с акцессом?
23 июл 09, 18:43    [7453336]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36826
http://msdn.microsoft.com/en-us/library/ee275721%28BTS.10%29.aspx

Я не вижу никаких siTables или siViews там.

Сообщение было отредактировано: 23 июл 09, 18:48
23 июл 09, 18:46    [7453346]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Алекс197
Member

Откуда:
Сообщений: 8
siViews Это константа на delphi. в VBA и в мелкомягком это adSchemaViews, тоже константа равная 23.
поправил connection string. Ошибка ушла. но теперь поле VIEW_DEFINITION пустое возвращается.
Это точно вопрос к спецам по MS SQL потому как может прав каких не хватает?
вот собсвенно код:
Option Compare Database

Public Sub Main()
On Error GoTo ErrorHandler

Dim Cnxn As ADODB.Connection
Dim rstSchema As ADODB.Recordset
Dim strCnxn As String

Set Cnxn = New ADODB.Connection
strCnxn = "Provider=SQLNCLI;Server=SQLEXPRESS\ONE;Database=dbname;Integrated Security='SSPI';"
Cnxn.Open strCnxn

Set rstSchema = Cnxn.OpenSchema(adSchemaViews) 'adSchemaTables

Do Until rstSchema.EOF
For i = 0 To rstSchema.Fields.Count - 1
Debug.Print rstSchema.Fields(i).Name & "=" & rstSchema.Fields(i).Value
Next i
rstSchema.MoveNext
Debug.Print vbCr
Loop

' clean up
rstSchema.Close
Cnxn.Close
Set rstSchema = Nothing
Set Cnxn = Nothing
Exit Sub

ErrorHandler:
' clean up
If Not rstSchema Is Nothing Then
If rstSchema.State = adStateOpen Then rstSchema.Close
End If
Set rstSchema = Nothing

If Not Cnxn Is Nothing Then
If Cnxn.State = adStateOpen Then Cnxn.Close
End If
Set Cnxn = Nothing

If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
'EndOpenSchema
23 июл 09, 19:39    [7453478]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Алекс197
Member

Откуда:
Сообщений: 8
http://msdn.microsoft.com/en-us/library/ms675274(VS.85).aspx собственно вот описание констант
23 июл 09, 19:54    [7453520]     Ответить | Цитировать Сообщить модератору
 Re: Не работает OpenShema(siViews) для SQL?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36826
ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_6tsql/html/2ac837c7-eca9-4d29-b06e-72e30450c68d.htm
Permissions
System object definitions are publicly visible. The definition of user objects is visible to the object owner or grantees that have any one of the following permissions: ALTER, CONTROL, TAKE OWNERSHIP, or VIEW DEFINITION. These permissions are implicitly held by members of the db_owner, db_ddladmin, and db_securityadmin fixed database roles.
23 июл 09, 19:56    [7453527]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить