powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SMO и SQL Azure
8 сообщений из 8, страница 1 из 1
SMO и SQL Azure
    #39586850
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть небольшое приложение, которое работает с SQL Server в режиме клиент-сервер, использует SMO.

При попытке запустиь его на сервер SQL Azure - много обломов в SMO-шных пропертях, методах.
Например, идут exceptions при попытке взять дефолт пути для создания базы, при попытке взять списко юзерских баз на сервере, что в обычной жизни работает без проблем.

Как это обходить?
...
Рейтинг: 0 / 0
SMO и SQL Azure
    #39586921
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин, не?
...
Рейтинг: 0 / 0
SMO и SQL Azure
    #39586926
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserРолг Хупин, не?

да х.е.з., может и да, проверю.
У меня смутные сомнения, что при работе с азуром там есть ограничения, например, у меня на азурной базе не работают многие куски кода, например:

1)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
             try
            {
                _server = new Server(this.sConnection);
                server.Refresh();

                this.version = server.PingSqlServerVersion(server.Name).Major; // <---------
                bPinged = true;
            }
            catch (Exception x)
            {
                Console.WriteLine(x);
            }




2)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
                foreach (Database db in server.Databases)
                {
                    try
                    {

                        if ((db.Status & DatabaseStatus.Normal) == DatabaseStatus.Normal && !db.IsSystemObject) // <---------
                            this.databases.Add(db.Name);
                    }
                    catch (System.Exception x)
                    {
                    }
                }
...
Рейтинг: 0 / 0
SMO и SQL Azure
    #39586942
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин, и таки нужно ексепшны читать... так понять тяжело...
...
Рейтинг: 0 / 0
SMO и SQL Azure
    #39586946
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserРолг Хупин, и таки нужно ексепшны читать... так понять тяжело...

в случае 1)PingSqlServerVersion

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Exception thrown: 'System.Data.SqlClient.SqlException' in Microsoft.SqlServer.ConnectionInfo.dll
Exception thrown: 'Microsoft.SqlServer.Management.Common.ConnectionFailureException' in Microsoft.SqlServer.ConnectionInfo.dll
Exception thrown: 'Microsoft.SqlServer.Management.Smo.FailedOperationException' in Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.Management.Smo.FailedOperationException: Ping Sql Server version failed for Server 'tcp:azureendpoint,1433'.  ---> Microsoft.SqlServer.Management.Common.ConnectionFailureException: Failed to connect to server tcp:azureendpoint,1433. ---> System.Data.SqlClient.SqlException: Windows logins are not supported in this version of SQL Server.
   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at Microsoft.SqlServer.Management.Common.ConnectionManager.InternalConnect(WindowsIdentity impersonatedIdentity)
   at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
   --- End of inner exception stack trace ---
   at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
   at Microsoft.SqlServer.Management.Common.ConnectionManager.PoolConnect()
   at Microsoft.SqlServer.Management.Common.ConnectionManager.get_ServerVersion()
   at Microsoft.SqlServer.Management.Smo.Server.PingSqlServerVersion(String serverName)
   --- End of inner exception stack trace ---
   at Microsoft.SqlServer.Management.Smo.Server.PingSqlServerVersion(String serverName)

_innerException = {System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'admin'.
   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object provid...



это юзер - admin - с которым я конектнулся к серверу.

Хотя там интересная запись
"Windows logins are not supported in this version of SQL Server."

Т.е. где-то во всём это SMO есть попытка коннектиться с текущим вин юзером
...
Рейтинг: 0 / 0
SMO и SQL Azure
    #39586975
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин, this.sConnection что там? закостылите :)
...
Рейтинг: 0 / 0
SMO и SQL Azure
    #39587067
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserРолг Хупин, this.sConnection что там? закостылите :)

Код: c#
1.
this.sConnection = {Server=tcp:мойазуре,1433;Database=master;User ID=admin;Trusted_Connection=False;Application Name=DbTest}




ага, а вот параметра Password нет, хотя тот же код работает с обычным скл сервером
...
Рейтинг: 0 / 0
SMO и SQL Azure
    #39587085
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинbuserРолг Хупин, this.sConnection что там? закостылите :)

Код: c#
1.
this.sConnection = {Server=tcp:мойазуре,1433;Database=master;User ID=admin;Trusted_Connection=False;Application Name=DbTest}




ага, а вот параметра Password нет, хотя тот же код работает с обычным скл сервером

еще смешное:

Использую конструктор

public MyServer(SqlConnection connection)
{
this.sConnection = new ServerConnection(connection);
GetDbInfo();
}

в connection - в connection string - пароль есть, далее объект sConnection создается без ошибок, а в GetDbInfo() уже вызывается пинг - но с ошибкой.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SMO и SQL Azure
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]