Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3 >  
Ответить в эту темуОткрыть новую тему
> Программа DAO Toolset Unicode Patch, для корректной работы русского языка в тулсете DA
EqKeeper
сообщение Nov 17 2010, 16:29
Сообщение #26


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Цитата(Lex @ Nov 17 2010, 12:51) *
Сделал. Пост автора программы первый, поэтому он может поменять название темы на нужное.

Увы, не могу. (IMG:style_emoticons/kolobok_light/smile.gif)
Griffon: DAO Toolset Unicode Patch. захотите сменить, исправим. (IMG:style_emoticons/kolobok_light/smile.gif)

Цитата(Leon PRO @ Nov 17 2010, 14:07) *
Кипер, актуальные версии, полагаю, лучше помещать в первый пост и обновлять его.
Хорошо бы вести там чендж лог от версии к версии.

Сделано.

Цитата(virus_found @ Nov 17 2010, 14:20) *
Не приложил исходники - подозрительно. А вдруг там вирусня закодирована? Я бы даже не притронулся к экзешке на вашем месте.

До релиза исходники не дам. (IMG:style_emoticons/kolobok_light/nea.gif) После релиза - если хватит времени, чтобы привести код в божеский вид. Мне стыдно. (IMG:style_emoticons/kolobok_light/unsure.gif)

Leon PRO
Сейчас прикручу к софтине нормлаьный лог - посмотрим хоть на чем падает (вернее, что она пытается подсунуть в ConnectionString). (IMG:style_emoticons/kolobok_light/smile.gif)

P.S. Да, кнопку поправил, а чтобы запаковать ресурсы в exe'шник, я так понял, нужен .NET не ниже 3.5.

Leon (и все желающие поучаствовать в тестировании):
http://www.mediafire.com/?4uxzefncncqqcg7
Версия с логом. Что пишет после определения строки подключения?
(Чувствую, придется все-таки вернуться к первому варианту и использовать только путь к базе, а не всю строчку... но поживем увидим (IMG:style_emoticons/kolobok_light/smile.gif) )
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 17 2010, 22:51
Сообщение #27


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



В консоли:
Во время работы произошла ошибка...

В диалоге:
---------------------------
Dragon Age Toolset Database Patch - Error!
---------------------------
Во время работы произошла ошибка!

Если вы не знаете почему это произошло или уверены, что вашей вины в этом нет, пожалуйста свяжитесь со мной!



email: equilibriumkeeper@yandex.ru

jabber: equilibriumkeeper@jabber.ru

forum: http://www.city-of-masters.ru/forums/index.php?showforum=116



В сообщении укажите нижеследующую информацию (вы можете скопировать ее нажав Ctrl+C):



[DBNETLIB][ConnectionOpen (Connect()).]SQL-сервер не существует, или отсутствует доступ.



в System.Data.OleDb.OleDbConnectionInternal..ctor(Ol
eDbConnectionString constr, OleDbConnection connection)

в System.Data.OleDb.OleDbConnectionFactory.CreateCon
nection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)

в System.Data.ProviderBase.DbConnectionFactory.Creat
eNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)

в System.Data.ProviderBase.DbConnectionFactory.GetCo
nnection(DbConnection owningConnection)

в System.Data.ProviderBase.DbConnectionClosed.OpenCo
nnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

в System.Data.OleDb.OleDbConnection.Open()

в DATDbPatch.FormMain.button1_Click(Object sender, EventArgs e)
---------------------------
ОК
---------------------------

И оставь в покое уже мою ветку LOCAL_MASHINE (IMG:style_emoticons/kolobok_light/crazy.gif) , бери значение из CURRENT_USER и не DefaultDatabaseConnection а DatabaseConnection.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 17 2010, 23:00
Сообщение #28


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Вот злодей!
Проблема в том, что у меня она как раз в локал машин, а куррент юзере ее нет. =\ (Ибо я умный (и скромный) и когда писал просмотрел весь реестр - других записей не обнаружилось)
И есть только дефолт... проверять все, в порядке приоритетов?

Сообщение отредактировал EqKeeper - Nov 17 2010, 23:02
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 17 2010, 23:56
Сообщение #29


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Я бы проверял все в порядке нормальных шансов.
У большинства юзеров, думаю, в CURRENT_USER.
Но, я сам модифицировал connection string через тулсет-конфигуратор. Выглядит он у меня вот так:
Код
Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=WorkDB2;Data Source=.\SQLEXPRESS;Auto Translate=False;Initial File Name="";Server SPN=""


Может если не модифицировать, то записи в Каррент Юзер нет?
Вобщем, тебе надо перепробовать и учесть все варианты. В идеале, программа должна последовательно перебирать все известные варианты от частного (Юзер-кастом настройки) и до общего (дефолтной настройки), пока не произойдет соединение.

Как контрольнй выстрел - если ничего не подошло - сделать поиск по реестру и автоматическая отсылка найденных веток с вхождениями"Bioware" и "DragonAge" со всем их содержимым с разрешения пользователя, например через POST запрос на к.л. хостинг который будет их принимать.

(ггг... вот так, с виду маленькие пятиминутные программы превращаются в месячную нервотрепку для их разработчиков (IMG:style_emoticons/kolobok_light/crazy.gif) )

UPD. Заодно можно искать и отсылать все картинки из скрытых папок с вхожденяими "mygirl" "private" "homeporn" в именах (IMG:style_emoticons/kolobok_light/rolleyes.gif) (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 18 2010, 00:22
Сообщение #30


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Цитата
UPD. Заодно можно искать и отсылать все картинки из скрытых папок с вхожденяими "mygirl" "private" "homeporn" в именах rolleyes.gif biggrin.gif

Принято!

Касательно остального - поковыряюсь.
К выводу пришел лишь к одному - конекшен стринг юзать нельзя. Ибо у тебя вот он пользует SQL. По дефолту - OleDb. А в C# все-таки нужна конкретика. Придется, видимо. парсить строчку и извлекать из нее имя базы, логин/пароль... возможно, еще что-нибудь... Боги, храните регэкспы! (IMG:style_emoticons/kolobok_light/smile.gif)

В общем, весело. (IMG:style_emoticons/kolobok_light/smile.gif) Сделаю. (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 18 2010, 02:12
Сообщение #31


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Ну как это нельзя ???? Только для этого надо использовать OleDB провайдера (скорее всего они его и юзают)
В примере ниже я использовал полный копипаст своей строки, только заэкранировал кавычки:

Код
using System.Data.OleDb;

string connString = "Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;User ID=\"\";Initial Catalog=WorkDB2;Data Source=.\\SQLEXPRESS;Auto Translate=False;Initial File Name=\"\";Server SPN=\"\"";

OleDbConnection oleC = new OleDbConnection(connString);
oleC.Open();


ву а ля, коннекшн открыт =)

Если же ты хочешь использовать SqlClient провайдера, то все чуть сложнее, но тоже без всяких заморочек на регэкспы.
Вот я набросал за 35 минут минимально необходимый быдлокод, учитывающий встроенную аутентификацию и аутентификацию по логину-паролю.

Код
using System.Collections.Generic;
using System.Data.SqlClient;

namespace DBConnector
{
    class Program
    {
        const string connString = "Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;User ID=\"\";Initial Catalog=WorkDB2;Data Source=.\\SQLEXPRESS;Auto Translate=False;Initial File Name=\"\";Server SPN=\"\"";

        const string IntegratedSequrity = "Integrated Security";
        const string UserId = "User ID";
        const string Passwd = "Password";
        const string InitCatalog = "Initial Catalog";
        const string DataSource = "Data Source";

        static void Main(string[] args)
        {
            string[] stringArr = connString.Split(';');

            Dictionary<string, string> connPairs = new Dictionary<string, string>();

            foreach (string str in stringArr)
            {
                string[] tmpStr = str.Split('=');
                connPairs.Add(tmpStr[0], tmpStr[1]);
            }

            SqlConnectionStringBuilder sqlConnBuilder = new SqlConnectionStringBuilder();

            if (connPairs[IntegratedSequrity] == "SSPI" || connPairs[IntegratedSequrity].ToLower() == "true")
                sqlConnBuilder.IntegratedSecurity = true;
            else
                sqlConnBuilder.IntegratedSecurity = false;

            if (sqlConnBuilder.IntegratedSecurity == false)
            {
                sqlConnBuilder.UserID = connPairs[UserId];
                sqlConnBuilder.Password = connPairs[Passwd];
            }

            sqlConnBuilder.InitialCatalog = connPairs[InitCatalog];
            sqlConnBuilder.DataSource = connPairs[DataSource];

            SqlConnection conn = new SqlConnection(sqlConnBuilder.ConnectionString);
            conn.Open();
        }
    }
}


UPD. 1 Судя по тексту ошибки ты и так используешь OleDB. (Судя по коду - действительно используешь) Все должно открываться (IMG:style_emoticons/kolobok_light/crazy.gif) .
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 18 2010, 04:44
Сообщение #32


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Какое изысканное извращение. (IMG:style_emoticons/kolobok_light/smile.gif) )) Блин, а я так не умею. (IMG:style_emoticons/kolobok_light/unsure.gif) Спасибо за код. (IMG:style_emoticons/kolobok_light/smile.gif) Регулярки мне нравятся больше, но в познователньых целях - очень даже! (IMG:style_emoticons/kolobok_light/smile.gif)

Не обращай внимания, я просто почему-то решил, что SQLNCLI10.1 используется для SqlConnection и OleDb его не понимает. С базами работаю 2ой раз в жизни, так что какие провайдеры с какими классами работают не знаю. Обычно вбиваю в msdn и беру один из примеров. (IMG:style_emoticons/kolobok_light/smile.gif) Тогда проблем нет! (IMG:style_emoticons/kolobok_light/smile.gif) Просто переберу все ключики реестра.

---

Вау! Почитал про Dictonary - влюбился! (IMG:style_emoticons/kolobok_light/smile.gif) ) Мои любимые универсальные хэши из Руби возвращаются! (IMG:style_emoticons/kolobok_light/smile.gif) А я мучался с Хэштабл. (IMG:style_emoticons/kolobok_light/smile.gif) ))

---

Хмм... а где в тулсете настраивается подключение? Я что-то в Опциях не нашел, а других настроек не увидел... >_>

---

Кстати, а мелкомягкие злодеи напрочь убили возможность получить доступ к корню реестра? Тоесть, пользуясь их классом Registry плясать можно только от конкретного раздела, но не от корня?

---

Готово! Тестируйте. (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал EqKeeper - Nov 18 2010, 14:35
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 18 2010, 16:32
Сообщение #33


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



В папке с тулсетом есть экзешник конфигуратора.
И там же, обрати внимание есть галка "use default configuration" - возможно именно она и определяет что тулсетина начинает ломиться в Локал Мэшин -> дефолт Коннекшн.

Цитата
Готово! Тестируйте. smile.gif

А ты протестировал вход в БД по логину-паролю через строку подключения ? (IMG:style_emoticons/kolobok_light/wink3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 18 2010, 18:09
Сообщение #34


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Я строку подключения и беру. (IMG:style_emoticons/kolobok_light/smile.gif) Целиком. Ибо как ты сам и говорил - юзаю OleDb, следовательно вручную смысла не имеет. Так что, если работает тулсет, должен работать и патч. Не работает тулсет - идут лесом с ошибкой. Или ты имеешь ввиду сделать отдельный ругателньый экзепшен на случай, если строчку получили, а приконектиться не смогли?

Насчет экзешника - пасиб. Сейчас и проверю. (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 18 2010, 20:39
Сообщение #35


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Цитата
Я строку подключения и беру. smile.gif Целиком.

А ты уверен, что пасс в ней пишется? Может тулсетина каждый раз при таком типе аутентификации запрашивает его?

Это не респектабельный подход. Разработчик (хороший разработчик) в первую очередь должен сам всё тестировать. А "баги" это случайно неучтенные моменты, но не непроверенные способы работы программы.

Ну и по делу (IMG:style_emoticons/kolobok_light/biggrin.gif)

---------------------------
Dragon Age Toolset Database Patch - Error!
---------------------------
Во время работы произошла ошибка!

Если вы не знаете почему это произошло или уверены, что вашей вины в этом нет, пожалуйста свяжитесь со мной!



email: equilibriumkeeper@yandex.ru

jabber: equilibriumkeeper@jabber.ru

forum: http://www.city-of-masters.ru/forums/index...c=6214&st=0



В сообщении укажите нижеследующую информацию (вы можете скопировать ее нажав Ctrl+C):



System.ArgumentException: Недопустимое значение ключа "integrated security".

в System.Data.Common.DbConnectionOptions.ConvertValu
eToIntegratedSecurityInternal(String stringValue)

в System.Data.Common.DbConnectionOptions.ConvertValu
eToIntegratedSecurity()

в System.Data.Common.DbConnectionOptions.get_HasBlan
kPassword()

в System.Data.Common.DBDataPermission..ctor(DbConnec
tionOptions connectionOptions)

в System.Data.OleDb.OleDbPermission..ctor(OleDbConne
ctionString constr)

в System.Data.OleDb.OleDbConnectionString.CreatePerm
issionSet()

в System.Data.Common.DbConnectionOptions.DemandPermi
ssion()

в System.Data.OleDb.OleDbConnection.PermissionDemand
()

в System.Data.OleDb.OleDbConnectionFactory.Permissio
nDemand(DbConnection outerConnection)

в System.Data.ProviderBase.DbConnectionClosed.OpenCo
nnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

в System.Data.OleDb.OleDbConnection.Open()

в DATDbPatch.FormMain.button1_Click(Object sender, EventArgs e)
---------------------------
ОК
---------------------------

В итоге я сказал тулсету, чтобы снова соединялся по SSPI. В результате - алилуйя! Прога соединилась.
Однако вот это расстраивает меня больше чем все остальное вместе взятое. И теперь хочу спросить. У меня в БД теперь каша или все ок?


---------------------------
Dragon Age Toolset Database Patch - Error!
---------------------------
Во время работы произошла ошибка!

Если вы не знаете почему это произошло или уверены, что вашей вины в этом нет, пожалуйста свяжитесь со мной!



email: equilibriumkeeper@yandex.ru

jabber: equilibriumkeeper@jabber.ru

forum: http://www.city-of-masters.ru/forums/index...c=6214&st=0



В сообщении укажите нижеследующую информацию (вы можете скопировать ее нажав Ctrl+C):



System.Data.OleDb.OleDbException: Query timeout expired

в System.Data.OleDb.OleDbCommand.ExecuteReaderIntern
al(CommandBehavior behavior, String method)

в System.Data.OleDb.OleDbCommand.ExecuteNonQuery()

в DATDbPatch.FormMain.button1_Click(Object sender, EventArgs e)
---------------------------
ОК
---------------------------

UPD Прикрути лучше на время разработки лог нормальный, чтобы компактно текст писался. Банальным Exception.ToString() выводи.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 18 2010, 20:40
Сообщение #36


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Блин, Леон, ты хоть под теги это безобразие прячь и лишнее убивай. (IMG:style_emoticons/kolobok_light/smile.gif) А то я уж сам запутался - что у тебя получилось, а что нет.

Каши там нет. Если она обвалилась, то просто обвалилась не внеся никаких изменений (во всяком случае, теоретически).

---

Это и есть тот самый Exeption.ToString() (IMG:style_emoticons/kolobok_light/wink3.gif)

---

Провис он на таймауте... весело... Сейчас увеличу дефолтный. Заодно родилась еще одна страшная мысля - а что если сервер упадет во время работы... Нда... Все-таки надо бэкапить оригинальную таблицу. Причем дважды. И во второй раз изменять уже ее, а после ставить на место оригинальной...

Сообщение отредактировал EqKeeper - Nov 18 2010, 20:47
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 18 2010, 20:49
Сообщение #37


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Короче, по SSPI соединяется, по Login password - нет.
даже если и соединяется - базу не патчит, рушится в середине работы. И нет гарантии что не превращает данные в таблице в кашу. Вообще, судя по тому как у меня заработал винчестер во время трансформации - такое ощущение, что он там как минимум многомегабайтную базу разворачивал =D
Длилось сие действие секунд 15 а потом ошибка.

Ты у себя то проверял ?
Не надо столько действий, я уже писал - используй транзакции.
Но бэкап - это обязательно. Глупо подвергать чужие данные риску. да и во-вторых ты даешь пользователю шанс откатить изменения. МОжет ему не подойдет совсем наш метод.

Еще правильнее - почитать про то, как вообще база это делает. Может она сама делает эту операцию через транзакцию.

Цитата
Блин, Леон, ты хоть под теги это безобразие прячь и лишнее убивай.

Я думал об этом еще когда первый раз увидел, но, потом прикинул, что раз автор не хочет сделать нормальный вывод для копипаста, то мне париться и чистить логи тем более лень (IMG:style_emoticons/kolobok_light/unsure.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 18 2010, 21:08
Сообщение #38


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Лентяй! (IMG:style_emoticons/kolobok_light/smile.gif)

Автор хочет, чтобы софтина работала. а потом уж о дизайне думать. (IMG:style_emoticons/kolobok_light/smile.gif) Естественно у себя проверял - все на ура в любой тип переходит за 8 секунд.

---

Почапал читать.

Сообщение отредактировал EqKeeper - Nov 18 2010, 21:08
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 18 2010, 21:15
Сообщение #39


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Цитата
а потом уж о дизайне думать
(IMG:style_emoticons/kolobok_light/biggrin.gif)
Ну так сделай толковый вывод!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 18 2010, 22:17
Сообщение #40


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Уговорил:
(IMG:http://ipicture.ru/uploads/20101118/k70d3R5V.png)

---

Пока я докурочиваю софтину, подскажи - какого дьявола текст в TextBox'е автоматически выделяется при создании формы? Я так понял, это из-за того, что выставлено свойство Read Only...

Сообщение отредактировал EqKeeper - Nov 18 2010, 22:52
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 19 2010, 09:55
Сообщение #41


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



ХЗ. Не сталкивался.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 19 2010, 19:25
Сообщение #42


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Тэкс, появилась еще одна проблема. На этот раз с бэкапом, а вернее с его восстановлением.
На таблице висит FOREIGN KEY. И вопрос в связи с этим лишь один: что делать? Во-первых, нужно ли что-нибудь делать при копировании таблицы? Я это делаю так:
Код
SELECT * INTO dbo.t_StringText_backup FROM dbo.t_StringText

Годится?

Ну, и теперь собственно возврат бэкапа. Хотел я вначале дропнуть оригинальную таблицу, и точно также создать на ее месте новую... однако не получилось, выдал исключение с FOREIGN KEY. Как уже писал, SQL для меня - темный лес. Так что нужен совет, как быть в подобной ситуации.

---

А я пока транзакцию прикручу.

---

Прикрутил... о, нарисую ка я еще и метод-расширение на будущее, чтобы все делать транзакциями. (IMG:style_emoticons/kolobok_light/smile.gif)

---

Изыскания продолжу уже завтра. Пока могу предположить, что твое предположение (пардон за тавтологию) насчет пароля было верно. Думается мне, что если юзер поставит галочку "сохранять пароль", то можно будет использовать и эту строчку. Если нет - придется задать дополнительный вопрос о пароле. Завтра проверю. Если не сложно - подскажите как добавить в базу пользователя с паролем (а то у меня безпарольная. (IMG:style_emoticons/kolobok_light/smile.gif) )

---

Вчера руки так и не дошли - сейчас наконец сел дописать. Скоро (надеюсь) выложу. (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал EqKeeper - Nov 21 2010, 14:56
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 21 2010, 15:50
Сообщение #43


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



---

Тэкс, с паролем разобрался, но не тестировал. Причины две и каждая рождает вопрос, оба из которых я уже задавал:
1) Как создать запороленную учетку для стандартного биоваревского сервера (чтобы проверить парольный доступ).
2) Как изменить стандартную строку подключения? Дело в том, что ConfigureToolset.exe исправно гененирует ее и даже дает нажать кнопку "Готово", однако никаких изменений в реестр не вносит и, если повторно его запустить, там снова будет стоять галочка стандартного подключения. Возможно, проблема в х64-винде. Возможно, в чем-то еще?

Идеи? Отсутствие ответа на 2ой вопрос исключает необходимость в 1ом. (IMG:style_emoticons/kolobok_light/smile.gif)

Ну и третий вопрос, который я уже также задавал: что делать с FOREIGN KEY (см.пост выше). Как только исправлю (или не исправлю) последний и протестирую (или не протестирую) первые - залью новую версию. (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 21 2010, 22:00
Сообщение #44


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Сори, я пас. У меня просто нет времени, чтобы ещё и в этом ковыряться.

Но на:
Вопрос 1 банально можно найти ответы в гугле.
Вопрос 2 когда-то я тоже мудохался с этим, но после всех патчей это как то само начало работать (возможно причина и не в этом), как - я так и не понял, но изменения начали запоминаться. В любом случае строку подключения моно вписать руками.
Вопрос 3, наверное тебе откроет более углубленное изучение MS SQL или попробуй очень точно сформулировать и описать его на к.л. тематическом форуме.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 21 2010, 23:44
Сообщение #45


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Ну, увы, тоже работа, так что с углубленным изучением SQL придется обождать. (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Тогда - ждите. Как разберусь - выложу. Думаю, к выходным. Но тут без гарантий.

По п.2 - бессмысленно, мне интересно - где он создаст ее сам в 64-разрядной системе. Что-то мне сомнительно, что там, куда я его сейчас направил. Но не суть - поэкспериментирую. Главное - если у тебя работает, значит и я настрою. (IMG:style_emoticons/kolobok_light/smile.gif)

---

Видимо, придется обойтись только транзакцией, ибо для бэкапа нужно сделать копию данной таблицы и всех связанных таблиц. А при восстановлении - уничтожить все связанные таблицы, восстановить из бэкапа, заново создать связи. ИМХО, после такого даже в удачном случае юзеры повесятся. Но как бы не пришлось делать бэкап от бэкапа. (IMG:style_emoticons/kolobok_light/smile.gif) Второй способом - BACKUP / RESTORE но он настолько громоздкий и медленный и, опять же, затрагивает в той или иной мере большую часть базы, что использовать его совершенно не хочется. В общем, работа идет через транзакцию, что обеспечит отказоустойчивость. А если человек жмяхает кнопку, значит он понимает для чего это делает и готов к последствиям. Добавлю кнопку обратного изменения типов (скорее всего даже сделаю просто выпадающий список с возможными вариантами.

Сообщение отредактировал EqKeeper - Nov 23 2010, 04:32
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 28 2010, 16:10
Сообщение #46


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Версия 1.5. Тестируйте. (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 28 2010, 18:46
Сообщение #47


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



пишу в том порядке в каком увидел:

- Для среднестатистического конечного пользователя стал слишком сложный интерфейс. Если очень хочется предоставить расширенные настройки по конвертированию, лучше их "спрятать" в адвансед опшнс, но не дать простым пользователям шанса их "случайно" заюзать.
- Все известные эксепшны (например, если БД недоступна) не содержащие какой-либо полезной информации для разработчика (например строку подключения) в финале можно заменить в итоге на юзер-френдли сообщения. Такие большие простынки, как правило пугают их.
- Я тыкаю на кнопки и... ничего не вижу =) только кроме того, что открывается следующая кнопка. Это немного противоестественно, ИМХО.
- Я, простой американский бой. Вбиваю от балды пароль в поле пароля и на этапе "проверка соединения" получаю ошибку, причем не обрабатываемую приложением, а в стандартном виндовском окне (текст ошибки ниже). Логично, ведь моя база без пароля, а с Integrated Sequrity.
- После того, как база пропатчилась я решил не экспериментировать и не нажимать "Исправление базы" снова. Предоставляю это сделать тебе =D. Но намек ты понял, думаю (IMG:style_emoticons/kolobok_light/crazy.gif)
- Если тебе захотят написать письмо или скопировать линк форума при ошибке - заипутся, ибо не не выделяемые строки. Если ты используешь свою форму - поставь на все ссылки LinkLabel а в обработчик - что-то типа "System.Diagnostics.Process.Start("http://www.yandex.ru");
"

База норм пропатчилась. (IMG:style_emoticons/kolobok_light/good.gif)
Слава богу, наконец то. (IMG:style_emoticons/kolobok_light/biggrin.gif)

Лог ошибки по проверке соединения:

Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.ArgumentException: Формат строки инициализации не соответствует спецификации, начиная с индекса 190.
в System.Data.Common.DbConnectionOptions.GetKeyValue
Pair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue)
в System.Data.Common.DbConnectionOptions.ParseIntern
al(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey)
в System.Data.Common.DbConnectionOptions..ctor(Strin
g connectionString, Hashtable synonyms, Boolean useOdbcRules)
в System.Data.OleDb.OleDbConnectionString..ctor(Stri
ng connectionString, Boolean validate)
в System.Data.OleDb.OleDbConnectionFactory.CreateCon
nectionOptions(String connectionString, DbConnectionOptions previous)
в System.Data.ProviderBase.DbConnectionFactory.GetCo
nnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
в System.Data.OleDb.OleDbConnection.ConnectionString
_Set(String value)
в System.Data.OleDb.OleDbConnection.set_ConnectionSt
ring(String value)
в DATUnicode.FormMain.button2_Click(Object sender, EventArgs e)
в System.Windows.Forms.Control.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnMouseUp(MouseEventAr
gs mevent)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ButtonBase.WndProc(Message& m)
в System.Windows.Forms.Button.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.O
nMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.W
ndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 28 2010, 22:26
Сообщение #48


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Цитата(Leon PRO @ Nov 28 2010, 18:46) *
пишу в том порядке в каком увидел:

- Для среднестатистического конечного пользователя стал слишком сложный интерфейс. Если очень хочется предоставить расширенные настройки по конвертированию, лучше их "спрятать" в адвансед опшнс, но не дать простым пользователям шанса их "случайно" заюзать.

Ммм... подумаю над этим. (IMG:style_emoticons/kolobok_light/smile.gif)
Цитата(Leon PRO @ Nov 28 2010, 18:46) *
- Все известные эксепшны (например, если БД недоступна) не содержащие какой-либо полезной информации для разработчика (например строку подключения) в финале можно заменить в итоге на юзер-френдли сообщения. Такие большие простынки, как правило пугают их.

Да, тут только лень. Со временем обработаю все.
Цитата(Leon PRO @ Nov 28 2010, 18:46) *
- Я тыкаю на кнопки и... ничего не вижу =) только кроме того, что открывается следующая кнопка. Это немного противоестественно, ИМХО.

Хочется мессаджа "All Done"? (IMG:style_emoticons/kolobok_light/smile.gif) Сделаем (хотя сам такие не люблю).
Цитата(Leon PRO @ Nov 28 2010, 18:46) *
- Я, простой американский бой. Вбиваю от балды пароль в поле пароля и на этапе "проверка соединения" получаю ошибку, причем не обрабатываемую приложением, а в стандартном виндовском окне (текст ошибки ниже). Логично, ведь моя база без пароля, а с Integrated Sequrity.

Странно, я же хотел прикрутить проверку... наверное забыл... окей, поправлю. (IMG:style_emoticons/kolobok_light/unsure.gif)
Цитата(Leon PRO @ Nov 28 2010, 18:46) *
- После того, как база пропатчилась я решил не экспериментировать и не нажимать "Исправление базы" снова. Предоставляю это сделать тебе =D. Но намек ты понял, думаю (IMG:style_emoticons/kolobok_light/crazy.gif)

А вот зря не пробовал - я вот регулярно и десятка три к ряду. (IMG:style_emoticons/kolobok_light/smile.gif) Умные OleDbCommand просто не выполняется, видя, что колонки уже приведены к нужным типам.
Цитата(Leon PRO @ Nov 28 2010, 18:46) *
- Если тебе захотят написать письмо или скопировать линк форума при ошибке - заипутся, ибо не не выделяемые строки. Если ты используешь свою форму - поставь на все ссылки LinkLabel а в обработчик - что-то типа "System.Diagnostics.Process.Start("http://www.yandex.ru");

Хм, а вот тут можно поподробнее? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Цитата
База норм пропатчилась. (IMG:style_emoticons/kolobok_light/good.gif)
Слава богу, наконец то. (IMG:style_emoticons/kolobok_light/biggrin.gif)

(IMG:style_emoticons/kolobok_light/yahoo.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 28 2010, 22:41
Сообщение #49


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Цитата
Хм, а вот тут можно поподробнее? scratch_one-s_head.gif

О чем поподробнее, конкретно =)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kelamor
сообщение Nov 29 2010, 10:48
Сообщение #50


Level 2
*

Класс: Бард
Характер: Lawful Good
Раса: Человек



Так что, можно пробовать? (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

3 страниц V  < 1 2 3 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th March 2024 - 19:02