Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...Getting StartedGetting Startedrun sql scriptrun sql script
Previous
 
Next
New Post
5/20/2013 5:05 PM
 

I want to do this: after my module has been installed i want the user to have option in settings to specify custom database connection string and when he does that i want my module to run .sql script files on this database.

simpel task but i cant find how its done with dnn/asp

 
New Post
5/21/2013 2:30 AM
 
Hi,

have a look at the SQL module's source code... You should find that there.

Best wishes
Michael

Michael Tobisch
DNN★MVP

dnn-Connect.org - The most vibrant community around the DNN-platform
 
New Post
5/24/2013 9:49 PM
 
Solved it, here is the function for anyone who might need it:

' returns "" on success, error message string on error
Public Shared Function ExecuteSqlFile(connectionString As String, sqlCodeFname As String) As String
Dim sqlCodeTxt As String
Dim myFileStream As New System.IO.FileStream(sqlCodeFname, _
FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)
Dim myReader As New System.IO.StreamReader(myFileStream)
Dim sLine As String
Dim errorMsg As String = ""
Dim myConnection As New SqlConnection(connectionString)
Try
myConnection.Open()
'split sql code into blocks of sql code delimited by GO statements and execute blocks independantly
'because ExecuteNonQuery()... functions don't understand Microsoft's GO command.
Do
sLine = myReader.ReadLine()
If UCase(Trim(sLine)) = "GO" Then
Dim command As New SqlCommand(sqlCodeTxt, myConnection)
Try
command.CommandTimeout = 0
command.ExecuteNonQuery()
Catch ex As Exception
errorMsg = sqlCodeFname & ": " & ex.Message & vbCrLf & "sqlCodeTxt=" & Trim(sqlCodeTxt)
Return errorMsg
End Try
sqlCodeTxt = ""
Else
sqlCodeTxt = sqlCodeTxt & sLine & vbCrLf
End If
Loop Until sLine Is Nothing
Catch ex As Exception
errorMsg = sqlCodeFname & ": " & ex.Message
Finally
myReader.Close()
myFileStream.Close()
myConnection.Close()
End Try
Return errorMsg
End Function
 
Previous
 
Next
HomeHomeDevelopment and...Development and...Getting StartedGetting Startedrun sql scriptrun sql script


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out