powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL и картинки
58 сообщений из 58, показаны все 3 страниц
SQL и картинки
    #33637354
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди добрые помогите плииз, а то мы тут уже вдвоем мучаемся ничего не выходит в общем так:
...
Рейтинг: 0 / 0
SQL и картинки
    #33637360
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри нечаянно нажал нето

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim mstream As New ADODB.Stream
Dim SQLstr As String
Dim i As Integer

If ImgAddr.Text <> "" Then
cn = New ADODB.Connection
cn.ConnectionTimeout = 200
cn.Open("Provider=SQLOLEDB;data Source=WEBSRV;Initial Catalog=docob;User Id=docuser;Password=")
SQLstr = "Select docimg,uid from doclist"
rs = New ADODB.Recordset
rs.Open(SQLstr, cn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)



mstream = New ADODB.Stream
mstream.Type = ADODB.StreamTypeEnum.adTypeBinary
mstream.Open()
mstream.LoadFromFile(ImgAddr.Text)
rs.Fields("docimg").Value = mstream.Read
rs.Update()

rs.Close()
cn.Close()
Else : ImgAddr.Text = "отсутвует рисунок"
End If

End Sub
End Class

вот в таком виде картинка пишется в первую строку, как сделать чтобы писалось в любую????
...
Рейтинг: 0 / 0
SQL и картинки
    #33637446
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все не так просто, как кажется. Если б было просто - помог бы человеку своими силами
В общем, перевожу с русского на программистский :))
Visual Studio 2005, ADO 2.8, MS SQL Server 2000.

Код: plaintext
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.
30.
31.
32.
33.
34.
35.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim mstream As New ADODB.Stream
Dim SQLstr As String
Dim i As Integer

    If ImgAddr.Text <> "" Then
        cn = New ADODB.Connection
        cn.ConnectionTimeout =  200 
        cn.Open("Provider=SQLOLEDB;data Source=WEBSRV;Initial Catalog=docob;User Id=docuser;Password=")
        SQLstr = "Select docimg,uid from doclist"
        rs = New ADODB.Recordset
        rs.Open(SQLstr, cn, ADODB.CursorTypeEnum.adOpenKeyset,    ADODB.LockTypeEnum.adLockOptimistic)

        ' Вот таким вот хитрым образом производится переход на 3-ю запись :))
        for i =  1  to  3 
            rs.MoveNext
        next

        mstream = New ADODB.Stream
        mstream.Type = ADODB.StreamTypeEnum.adTypeBinary
        mstream.Open()
        mstream.LoadFromFile(ImgAddr.Text)
        rs.Fields("docimg").Value = mstream.Read
        
        ' На этой строке - ошибка "Время ожидания истекло"
        rs.Update()

        rs.Close()
        cn.Close()
    Else 
        ImgAddr.Text = "отсутвует рисунок"
    End If

End Sub

Проблем две:
во-первых, непонятки со свойством rs.Source - он превратился в объект и у него появились свойства-члены - ToString, Eval и т.д. - как этим пользоваться?
во-вторых, при попытке получить ОДНУ запись с помощью логичного
"Select docimg, uid from doclist where uid = 3" при выполнении rs.Update() выдает ошибку "Время ожидания истекло" (в таблице 4 записи, размер файла - до 100 кБ) - с таким я еще не сталкивался (потому что на 2005-м, хвала БГ, не работал)
...
Рейтинг: 0 / 0
SQL и картинки
    #33637569
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, вот это:
mstream = New ADODB.Stream
не наша ошбика, - VS2005 автоматически убирает Set
...
Рейтинг: 0 / 0
SQL и картинки
    #33637651
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вот это:
ADODB.CursorTypeEnum.adOpenKeyset приходится писать, т.к. простого adOpenKeyset VS2005 не понимает... Я фигею с этого 2005-го, билли нам новую игрушку сделал... занимательную :))
...
Рейтинг: 0 / 0
SQL и картинки
    #33637668
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibblesи вот это:
ADODB.CursorTypeEnum.adOpenKeyset приходится писать, т.к. простого adOpenKeyset VS2005 не понимает...
Даже если ADODB в референсах подключен?
...
Рейтинг: 0 / 0
SQL и картинки
    #33637687
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
угу, сам удивляюсь )))

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33637704
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока безрезультатно.
Значит так, что делали:
1. Подключали вместо ADODB 2.8 библиотеку 2.5
2. Вместо "select [список полей]" писали "select *"
3. Вместо adOpenKeyset использовали adOpenDinamic

Какие еще будут предложения из раздела "Попинать шины"? :))
...
Рейтинг: 0 / 0
SQL и картинки
    #33639720
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
SQL и картинки
    #33640155
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
SQL и картинки
    #33640273
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот как я сохраняю файл в базу

Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
    Private Sub Report_Create()
        Dim lSqlConnection As SqlClient.SqlConnection = New SqlClient.SqlConnection(SqlConnection.ConnectionString)
        Dim lsdaTask As New SqlClient.SqlDataAdapter
        Dim dtTask As New DataTable
        Dim strFileName As String
        Dim fs As FileStream
        Dim abyte() As Byte

            lSqlConnection.Open()

            'создаем выражение select
            Dim lscSelect As New SqlClient.SqlCommand("здесь запрос", lSqlConnection)

            'создаем выражение update
            Dim lscUpdate As New SqlClient.SqlCommand("UPDATE ...", lSqlConnection)
            ' задаем параметры, если надо

            lscUpdate.Parameters.Add(New _
                SqlClient.SqlParameter("@R_ExcelData", System.Data.SqlDbType.Image,  0 , ParameterDirection.Input, True, CType( 0 , Byte), _
                CType( 0 , Byte), "Report_ExcelData", System.Data.DataRowVersion.Current, Nothing))

            'ссылка на объект
            lsdaTask.SelectCommand = lscSelect
            lsdaTask.UpdateCommand = lscUpdate

            'заполняем данные задачи
            lsdaTask.Fill(dtTask)

.....
здесь какая-то работа
.....
                'сохраняем отчет в базе 
                fs = New FileStream("путь и имя_файла" , FileMode.Open, FileAccess.Read)
                ReDim abyte(CInt(fs.Length))
                fs.Read(abyte,  0 , CInt(fs.Length))
                fs.Close()

                'сохраняем отчет в базе
                dtTask.Rows( 0 ).Item("Report_ExcelData") = abyte

            lsdaTask.Update(dtTask)     'обновляем данные
            lsdaTask.SelectCommand.Connection.Close()

end sub

может чем-то поможет
...
Рейтинг: 0 / 0
SQL и картинки
    #33642491
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оххх, короче поставил я VB 6 отдельно, перекинул процедуру, поправил синтаксис, и получил в результате туже самую ошибку. В общем не в Visual Studio дело. кто может что подсказать, откликнитесь пожалуйста.


From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33642732
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что за ошибка?
и приведите код на ВБ6
...
Рейтинг: 0 / 0
SQL и картинки
    #33642748
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибка: "Время ожидания истекло"

код на вб 6 отличается от Visual Studio только наличием Set'ов и отсутсвием скобок. на всякий случай приведу конечно:


From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33642755
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
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.
30.
31.
32.
33.
34.
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim mstream As New ADODB.Stream
Dim SQLstr As String
Dim i As Integer

        If ImgAddr.Text <> "" Then
            Set cn = New ADODB.Connection
            cn.ConnectionTimeout =  200 
            cn.Open "Provider=SQLOLEDB;data Source=WEBSRV;Initial Catalog=docob;User Id=docuser;Password="
            SQLstr = "Select docimg,uid from doclist"  
            Set rs = New ADODB.Recordset
            rs.Open SQLstr, cn, adOpenDynamic, adLockOptimistic
            For i =  1  To CInt(UIDnum.Text)
                rs.MoveNext
            Next i
            Set mstream = New ADODB.Stream
            mstream.Type = adTypeBinary
            mstream.Open
            mstream.LoadFromFile ImgAddr.Text
            rs.Fields("docimg").Value = mstream.Read
            rs.Update

        Else: ImgAddr.Text = "отсутвует адрес рисунка"
        End If
        
        rs.Close
        cn.Close

End Sub




From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33642784
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давай скрипт таблицы и всех dependens-объектов
...
Рейтинг: 0 / 0
SQL и картинки
    #33642824
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[doclist]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[doclist]
GO

CREATE TABLE [dbo].[doclist] (
[uid] [int] IDENTITY (1, 1) NOT NULL ,
[number] [char] (20) COLLATE Cyrillic_General_CI_AS NULL ,
[datedoc] [datetime] NULL ,
[lev1] [int] NULL ,
[lev2] [int] NULL ,
[docimg] [image] NULL ,
[comments] [varchar] (255) COLLATE Cyrillic_General_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33642997
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код рабочий
проверьте права досьтупа к серверу, таблице
и все-таки ИМХО лучше не выбирать все строки из таблицы, где есть поля типа IMAGE, а ограничивать выборку опреатором WHERE, т.к при больщих объемах данных (учитывая поля ИМАДЖ) сеть может не справляться и запрос отваливаться по таймауту
...
Рейтинг: 0 / 0
SQL и картинки
    #33643787
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Е-мое, никто что ли не знает как записываются байтовые массивы в базу???
заменить
Код: plaintext
rs.Fields("docimg").Value = mstream.Read
на
Код: plaintext
1.
2.
Dim r() as byte
r = mstream.Read
rs.Fields("docimg").AppendChunck r
...
Рейтинг: 0 / 0
SQL и картинки
    #33645072
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поехали:
1) я бы конечно тоже грешил на права доступа, если бы во-первых в первую строчку он не писал (пишет ведь!! ), и если бы я сам лично не создавал пользователя docuser у которого права dbo на эту базу. Проверю конечно на всякий случай.
2) AppendChunk штука конечно хорошая, но результат получаем тот же )) "Время ожидания истекло"
3) Кстати: когда я переделывал прогу под AppendChunk, я забыл поставить
r = mstream.read
дык вот, при этом запись в нужную строку прошла нормально, только конечно там была не картинка, поэтому выводить было нечего...

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33645299
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хех, я тут решил проверить, самый тупой вариант: взял каринку на 12 кб, записалась, а вот больше 60 кб не хочет... кто знает где время ожидания поправить?
con.connectionTimeout?

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33645307
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл сказать в первую строку пишет вне зависимости от размера...
From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33645340
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понял. Код в студию. Мой работает без проблем.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Form_Load()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim r() As Byte
    cn.Open "driver={SQL Server};server=(local);database=callcenter"
    rs.Open "select * from doclist where uid is null", cn, adOpenKeyset, adLockOptimistic
    rs.AddNew
    Open "c:\100.txt" For Binary As # 1 
    ReDim r(LOF( 1 ))
    Get # 1 , , r
    Close # 1 
    rs("docimg").AppendChunk r
    rs.Update
End Sub
...
Рейтинг: 0 / 0
SQL и картинки
    #33645345
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл 100.txt под 200kb и влетает как птичка без всяких таймаутов.
...
Рейтинг: 0 / 0
SQL и картинки
    #33645403
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм ну ладно, вот вариант кода с использованием того что ты написал
Код: plaintext
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.
30.
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim mstream As New ADODB.Stream
Dim SQLstr As String
Dim a() As Byte

        If ImgAddr.Text <> "" Then
            Set cn = New ADODB.Connection
            cn.ConnectionTimeout =  500 
            cn.Open "Provider=SQLOLEDB;data Source=WEBSRV;Initial Catalog=docob;User Id=docuser;Password="
            SQLstr = "Select docimg,uid from doclist where uid=" & UIDnum.Text
            Set rs = New ADODB.Recordset
            rs.Open SQLstr, cn, adOpenDynamic, adLockOptimistic
            Open ImgAddr For Binary As # 1 
            ReDim a(LOF( 1 )) As Byte
            Get # 1 , , a
            Close # 1 
            rs("docimg").AppendChunk a
            rs.Update

        Else: ImgAddr.Text = "ошибка"
        End If
        
        rs.Close
        cn.Close

End Sub



если UIDnum.text >= 2 то при попытке записать файл больше 12 кб получаем "Время ожидания истекло"


From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33645415
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибку в коде увидел, исправил, получил ту же ошибку "время..."

Код: plaintext
1.
Open ImgAddr For Binary As # 1 

вот здесь должно быть:
Код: plaintext
1.
Open ImgAddr.text For Binary As # 1 

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33645517
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На таблице есть триггеры? Или какие-то условия на значения полей?
...
Рейтинг: 0 / 0
SQL и картинки
    #33645675
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скрипт создания таблицы ты можешь увидеть на первой странице. Тригеров нет точно.

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33645690
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene D DufaСкрипт создания таблицы ты можешь увидеть на первой странице. Тригеров нет точно.
со СВОЕГО компьютера достучись до сервера через QA или EM (без радминов и терминалов). Посмотри - работает ли добавление записей в таблицу "вручную"
Если будет ошибка - код и текст - сюда
...
Рейтинг: 0 / 0
SQL и картинки
    #33645697
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, проверял уже с утра, усе норм.

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33645720
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таблица создана с помощью скрипта или через EM?
я бы для чистоты эксперимента сделал новую таблицу без всяких вспомогательных полей - только счетик и поле-image. Попробвал бы работать с ней.
кроме того, проверь COLLATION БД/Сервера - какой стоит по умолчанию?
...
Рейтинг: 0 / 0
SQL и картинки
    #33645727
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и проверь SP-ки на SQL Server (что возвращает print @@version?)
...
Рейтинг: 0 / 0
SQL и картинки
    #33645757
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это возвращает print:

Microsoft SQL Server 2000 - 8.00.194 (Intel X86)
Aug 6 2000 00:57:48
Copyright (c) 1988-2000 Microsoft Corporation
Personal Edition on Windows NT 5.0 (Build 2195: Service Pack 2)

насчет Collation, подскажи плз как? )))


From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33645780
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene D Dufaэто возвращает print:

Microsoft SQL Server 2000 - 8.00.194 (Intel X86)
Aug 6 2000 00:57:48
Copyright (c) 1988-2000 Microsoft Corporation
Personal Edition on Windows NT 5.0 (Build 2195: Service Pack 2)

насчет Collation, подскажи плз как? )))


From Black Dragon with HOT Greetings
Старый сервак - должен быть "Microsoft SQL Server 2000 - 8.00.818 (Intel X86) "... Накати до SP3a. как накатывать, посмотри в ветке "MS SQL Server". Насчет Collation - там же
...
Рейтинг: 0 / 0
SQL и картинки
    #33645907
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде как Collation на поля типа Image никак не влияет.
...
Рейтинг: 0 / 0
SQL и картинки
    #33645965
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene D Dufaif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[doclist]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[doclist]
GO

CREATE TABLE [dbo].[doclist] (
[uid] [int] IDENTITY (1, 1) NOT NULL ,
[number] [char] (20) COLLATE Cyrillic_General_CI_AS NULL ,
[datedoc] [datetime] NULL ,
[lev1] [int] NULL ,
[lev2] [int] NULL ,
[docimg] [image] NULL ,
[comments] [varchar] (255) COLLATE Cyrillic_General_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


From Black Dragon with HOT Greetings

не понял... а где FK????
...
Рейтинг: 0 / 0
SQL и картинки
    #33645979
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibbles
не понял... а где PK ????
...
Рейтинг: 0 / 0
SQL и картинки
    #33646129
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibbles nibbles
не понял... а где PK ????
А причем здесь PK?
...
Рейтинг: 0 / 0
SQL и картинки
    #33646137
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades nibbles nibbles
не понял... а где PK ????
А причем здесь PK?
не нужен?
...
Рейтинг: 0 / 0
SQL и картинки
    #33646153
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibbles Melkiades nibbles nibbles
не понял... а где PK ????
А причем здесь PK?
не нужен?
В данном случае его отсутствие ни на что не влияет.
...
Рейтинг: 0 / 0
SQL и картинки
    #33646157
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades nibbles Melkiades nibbles nibbles
не понял... а где PK ????
А причем здесь PK?
не нужен?
В данном случае его отсутствие ни на что не влияет.
а что влияет? список возможных причин - в студию
...
Рейтинг: 0 / 0
SQL и картинки
    #33646377
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа не спорьте... У меня все получилось. Сейчас напишу чего повлияло:
1) обязательно ставить в таких случаях sp3a без него никуда
2) ПК обязателен, пока у меня не появился ПК ошибка не исчезла
3) любителям AppendChunk посвящается ))) через этот самый аппенд у меня записалась только часть картинки, когда сделал тоже самое через mstream усе стало нормально

это окончательный код
Код: plaintext
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.
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim mstream As New ADODB.Stream
Dim SQLstr As String

        If ImgAddr.Text <> "" Then
            Set cn = New ADODB.Connection
            cn.ConnectionTimeout =  200 
            cn.Open "Provider=SQLOLEDB;data Source=WEBSRV;Initial Catalog=docob;User Id=docuser;Password="
            SQLstr = "Select docimg,uid from doclist where uid=" & CInt(UIDnum.Text)
            Set rs = New ADODB.Recordset
            rs.Open SQLstr, cn, adOpenDynamic, adLockOptimistic
            Set mstream = New ADODB.Stream
            mstream.Type = adTypeBinary
            mstream.Open
            mstream.LoadFromFile ImgAddr.Text
            rs.Fields("docimg").Value = mstream.Read
            rs.Update

        Else: ImgAddr.Text = "îòñóòâóåò àäðåñ ðèñóíêà"
        End If
        
        rs.Close
        cn.Close

End Sub

полностью работает. Еще одна вещь по поводу которой я не очень уверен, DSN надо настраивать в System DSN а не в User... вроде все.

Всем огромное спасибо!!


From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33646435
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene D DufaГоспода не спорьте... У меня все получилось. Сейчас напишу чего повлияло:
1) обязательно ставить в таких случаях sp3a без него никуда
2) ПК обязателен, пока у меня не появился ПК ошибка не исчезла
3) любителям AppendChunk посвящается ))) через этот самый аппенд у меня записалась только часть картинки, когда сделал тоже самое через mstream
У меня все работает через AppendChunk, при этом
1) Достаточно просто sp3 (без "а"), хотя я подозреваю, что нужно было просто найти конкретное обновление
2) Все работает без PK и FK
3) Пишутся все картинки целиком и правильно, включая файлы в десятки мегабайт.
Что-то не так в вашем монастыре...
...
Рейтинг: 0 / 0
SQL и картинки
    #33646482
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades Eugene D DufaГоспода не спорьте... У меня все получилось. Сейчас напишу чего повлияло:
1) обязательно ставить в таких случаях sp3a без него никуда
2) ПК обязателен, пока у меня не появился ПК ошибка не исчезла
3) любителям AppendChunk посвящается ))) через этот самый аппенд у меня записалась только часть картинки, когда сделал тоже самое через mstream
У меня все работает через AppendChunk, при этом
1) Достаточно просто sp3 (без "а"), хотя я подозреваю, что нужно было просто найти конкретное обновление
2) Все работает без PK и FK
3) Пишутся все картинки целиком и правильно, включая файлы в десятки мегабайт.
Что-то не так в вашем монастыре...
важен результат, а не Ваше утверждение, что "а у меня все работает"
...
Рейтинг: 0 / 0
SQL и картинки
    #33646598
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibbles Melkiades Eugene D DufaГоспода не спорьте... У меня все получилось. Сейчас напишу чего повлияло:
1) обязательно ставить в таких случаях sp3a без него никуда
2) ПК обязателен, пока у меня не появился ПК ошибка не исчезла
3) любителям AppendChunk посвящается ))) через этот самый аппенд у меня записалась только часть картинки, когда сделал тоже самое через mstream
У меня все работает через AppendChunk, при этом
1) Достаточно просто sp3 (без "а"), хотя я подозреваю, что нужно было просто найти конкретное обновление
2) Все работает без PK и FK
3) Пишутся все картинки целиком и правильно, включая файлы в десятки мегабайт.
Что-то не так в вашем монастыре...
важен результат, а не Ваше утверждение, что "а у меня все работает"
Я просто опроверг ошибочное утверждение, что без соблюдения этих трех пунктов ничего работать не будет.
...
Рейтинг: 0 / 0
SQL и картинки
    #33646606
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades nibbles Melkiades Eugene D DufaГоспода не спорьте... У меня все получилось. Сейчас напишу чего повлияло:
1) обязательно ставить в таких случаях sp3a без него никуда
2) ПК обязателен, пока у меня не появился ПК ошибка не исчезла
3) любителям AppendChunk посвящается ))) через этот самый аппенд у меня записалась только часть картинки, когда сделал тоже самое через mstream
У меня все работает через AppendChunk, при этом
1) Достаточно просто sp3 (без "а"), хотя я подозреваю, что нужно было просто найти конкретное обновление
2) Все работает без PK и FK
3) Пишутся все картинки целиком и правильно, включая файлы в десятки мегабайт.
Что-то не так в вашем монастыре...
важен результат, а не Ваше утверждение, что "а у меня все работает"
Я просто опроверг ошибочное утверждение, что без соблюдения этих трех пунктов ничего работать не будет.
но ведь работает же? а без них - не работало. Вопросы?
...
Рейтинг: 0 / 0
SQL и картинки
    #33647135
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibblesно ведь работает же? а без них - не работало. Вопросы?
А вы проверяли после установки сервиспака метод с AppendChunk без PK?
...
Рейтинг: 0 / 0
SQL и картинки
    #33647145
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades nibblesно ведь работает же? а без них - не работало. Вопросы?
А вы проверяли после установки сервиспака метод с AppendChunk без PK?
я - нет... но мне это и не нужно...
мне главное, чтоб автор топика решил свою проблему... несмотря на жгучее желание окружающих самоутвердиться... и вопреки этому недостойному желанию
...
Рейтинг: 0 / 0
SQL и картинки
    #33647239
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibbles Melkiades nibblesно ведь работает же? а без них - не работало. Вопросы?
А вы проверяли после установки сервиспака метод с AppendChunk без PK? я - нет... но мне это и не нужно...
мне главное, чтоб автор топика решил свою проблему...
А вам самому не интересно, что именно явилось решением проблемы? Или вам достаточно "но ведь работает же"?
...
Рейтинг: 0 / 0
SQL и картинки
    #33647284
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades nibbles Melkiades nibblesно ведь работает же? а без них - не работало. Вопросы?
А вы проверяли после установки сервиспака метод с AppendChunk без PK? я - нет... но мне это и не нужно...
мне главное, чтоб автор топика решил свою проблему...
А вам самому не интересно, что именно явилось решением проблемы? Или вам достаточно "но ведь работает же"?
автор черным по белому перечислил что у него являлось решением проблемы
...
Рейтинг: 0 / 0
SQL и картинки
    #33647303
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор не ответил, проверял ли он после установки сервиспака метод с AppendChunk без PK. Имхо, именно обновление сиквела сделало свое дело.
...
Рейтинг: 0 / 0
SQL и картинки
    #33647836
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автор просто к моменту задания вопорса домой ушел уже ) отвечаю, да проверял, после установки СП первая версия которая была запущена была с AppendChunk, ошибка сохранилась, после появления ПК, AppendChunk сработал, но картинка записалась не вся.

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33685961
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, я тихо ... я небуду говорить это слово, каждый подставит в меру испорченности.

Все работало и работает, пока uid не перевалил за 16 после этого я снова получил ту же ошибку!!! "Время ожидания истекло"

Пока разбираюсь сам, но если кто чего подскажет буду признателен.

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33686025
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы уверены что все дело в этом? Если откатить identity, ошибки не возникает? А если использовать GUID?
...
Рейтинг: 0 / 0
SQL и картинки
    #33686039
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сечас попробую откатить ) и посмотрю что получится, а кто такой GUID?

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33686073
Eugene D Dufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как говорила Алиса: "все страньше и страньше...."

теперь все ок, могло это быть из-за большого разрыва в существующих uid и создаваемых? я имею ввиду что у меня последний созданный элемент из программы был с uid 16, потом пока эксперементировал uid вырос до 20+, а элементов не было... (я их из базы ручками удалял)...

From Black Dragon with HOT Greetings
...
Рейтинг: 0 / 0
SQL и картинки
    #33686126
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно. Может сервак в это время висел?
На всякий случай прогоните DBCC CHECKTABLE ('doclist').
А GUID - это Global Unique Identifier, тип данных такой.
...
Рейтинг: 0 / 0
SQL и картинки
    #33686155
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и конечно DBCC CHECKIDENT не забудьте.
...
Рейтинг: 0 / 0
58 сообщений из 58, показаны все 3 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL и картинки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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